summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/build/smb_build/input.pm1
-rw-r--r--source4/build/smb_build/main.pl3
-rw-r--r--source4/build/smb_build/makefile.pm4
-rw-r--r--source4/heimdal_build/config.mk13
4 files changed, 16 insertions, 5 deletions
diff --git a/source4/build/smb_build/input.pm b/source4/build/smb_build/input.pm
index a8dd573744..8c9a6efacc 100644
--- a/source4/build/smb_build/input.pm
+++ b/source4/build/smb_build/input.pm
@@ -257,6 +257,7 @@ sub check($$$$$)
foreach my $part (values %$INPUT) {
$part->{LINK_FLAGS} = [];
+ $part->{FULL_OBJ_LIST} = ["\$($part->{NAME}_OBJ_LIST)"];
if ($part->{TYPE} eq "SUBSYSTEM") {
check_subsystem($INPUT, $part, $subsys_ot);
diff --git a/source4/build/smb_build/main.pl b/source4/build/smb_build/main.pl
index c6031e23e6..924f94762c 100644
--- a/source4/build/smb_build/main.pl
+++ b/source4/build/smb_build/main.pl
@@ -69,6 +69,9 @@ foreach my $key (values %$OUTPUT) {
$mkenv->PythonFiles($key) if defined($key->{PYTHON_FILES});
$mkenv->Manpage($key) if defined($key->{MANPAGE});
$mkenv->Header($key) if defined($key->{PUBLIC_HEADERS});
+ if ($key->{TYPE} eq "MODULE" and defined($key->{INIT_FUNCTION})) {
+ $mkenv->output("$key->{SUBSYSTEM}_INIT_FUNCTIONS += \"$key->{INIT_FUNCTION},\"\n");
+ }
}
foreach my $key (values %$OUTPUT) {
diff --git a/source4/build/smb_build/makefile.pm b/source4/build/smb_build/makefile.pm
index 23caec083f..a6dfc2dee3 100644
--- a/source4/build/smb_build/makefile.pm
+++ b/source4/build/smb_build/makefile.pm
@@ -152,7 +152,7 @@ sub SharedModule($$)
$self->output(<< "__EOD__"
-$ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}: \$($ctx->{NAME}_DEPEND_LIST) \$($ctx->{NAME}_OBJ_LIST)
+$ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}: \$($ctx->{NAME}_DEPEND_LIST) \$($ctx->{NAME}_FULL_OBJ_LIST)
\@echo Linking \$\@
\@mkdir -p \$(\@D)
\@\$(MDLD) \$(LDFLAGS) \$(MDLD_FLAGS) \$(INTERN_LDFLAGS) -o \$\@ \$(INSTALL_LINK_FLAGS) \\
@@ -243,7 +243,7 @@ sub StaticLibraryPrimitives($$)
sub InitFunctions($$)
{
my ($self, $ctx) = @_;
- $self->output("\$($ctx->{NAME}_OBJ_LIST): CFLAGS+=-DSTATIC_$ctx->{NAME}_MODULES=\"\$($ctx->{NAME}_INIT_FUNCTIONS)$ctx->{INIT_FUNCTION_SENTINEL}\"\n");
+ $self->output("\$($ctx->{NAME}_OBJ_LIST): CFLAGS+=-DSTATIC_$ctx->{NAME}_MODULES=\"\\\"\$($ctx->{NAME}_INIT_FUNCTIONS)$ctx->{INIT_FUNCTION_SENTINEL}\\\"\"\n");
}
sub StaticLibrary($$)
diff --git a/source4/heimdal_build/config.mk b/source4/heimdal_build/config.mk
index a0620c7923..45bfd8e81f 100644
--- a/source4/heimdal_build/config.mk
+++ b/source4/heimdal_build/config.mk
@@ -440,6 +440,14 @@ PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN
#######################
#######################
+# Start SUBSYSTEM HEIMDAL_ASN1_COMPILE_LEX
+[SUBSYSTEM::HEIMDAL_ASN1_COMPILE_LEX]
+CFLAGS = -Iheimdal_build -Iheimdal/lib/asn1 -Iheimdal/lib/roken -Ilib/socket_wrapper
+OBJ_FILES = ../heimdal/lib/asn1/lex.ho
+# End SUBSYSTEM HEIMDAL_ASN1_COMPILE_LEX
+#######################
+
+#######################
# Start BINARY asn1_compile
[BINARY::asn1_compile]
CFLAGS = -Iheimdal_build -Iheimdal/lib/roken
@@ -466,9 +474,8 @@ OBJ_FILES = \
../heimdal/lib/asn1/symbol.ho \
../heimdal/lib/vers/print_version.ho \
../lib/socket_wrapper/socket_wrapper.ho \
- replace.ho \
- ../heimdal/lib/asn1/lex.ho
-PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN_GETPROGNAME_H EXT_SOCKET EXT_NSL
+ replace.ho
+PRIVATE_DEPENDENCIES = HEIMDAL_ASN1_COMPILE_LEX HEIMDAL_ROKEN_GETPROGNAME_H EXT_SOCKET EXT_NSL
# End BINARY asn1_compile
#######################