diff options
-rw-r--r-- | source4/build/m4/check_cc.m4 | 1 | ||||
-rw-r--r-- | source4/build/smb_build/config_mk.pm | 4 | ||||
-rw-r--r-- | source4/build/smb_build/input.pm | 23 | ||||
-rw-r--r-- | source4/build/smb_build/makefile.pm | 4 | ||||
-rw-r--r-- | source4/heimdal_build/config.mk | 10 | ||||
-rw-r--r-- | source4/lib/replace/config.mk | 9 |
6 files changed, 42 insertions, 9 deletions
diff --git a/source4/build/m4/check_cc.m4 b/source4/build/m4/check_cc.m4 index 7f166ff641..397a6dd044 100644 --- a/source4/build/m4/check_cc.m4 +++ b/source4/build/m4/check_cc.m4 @@ -285,6 +285,7 @@ if test x$GNU_MAKE = x"yes"; then new_make=yes fi fi +new_make=no AC_MSG_RESULT($new_make) automatic_dependencies=no AX_CFLAGS_GCC_OPTION([-M -MT conftest.d -MF conftest.o], [], [ automatic_dependencies=$new_make ], []) diff --git a/source4/build/smb_build/config_mk.pm b/source4/build/smb_build/config_mk.pm index 80da0ab2fa..65f873f500 100644 --- a/source4/build/smb_build/config_mk.pm +++ b/source4/build/smb_build/config_mk.pm @@ -76,7 +76,9 @@ my $section_types = { "PUBLIC_HEADERS" => "list", "CFLAGS" => "string", - "STANDARD_VISIBILITY" => "string" + "STANDARD_VISIBILITY" => "string", + + "USE_HOSTCC" => "bool" }, "LIBRARY" => { "VERSION" => "string", diff --git a/source4/build/smb_build/input.pm b/source4/build/smb_build/input.pm index b07c9b1a07..a8f5485a35 100644 --- a/source4/build/smb_build/input.pm +++ b/source4/build/smb_build/input.pm @@ -30,6 +30,25 @@ sub str2array($) return split /[ \t\n]/; } +sub add_libreplace($) +{ + my ($part) = @_; + + return if ($part->{NAME} eq "LIBREPLACE"); + return if ($part->{NAME} eq "LIBREPLACE_HOSTCC"); + + foreach my $n (@{$part->{PRIVATE_DEPENDENCIES}}) { + return if ($n eq "LIBREPLACE"); + return if ($n eq "LIBREPLACE_HOSTCC"); + } + + if (defined($part->{USE_HOSTCC}) && $part->{USE_HOSTCC} eq "YES") { + push (@{$part->{PRIVATE_DEPENDENCIES}}, "LIBREPLACE_HOSTCC"); + } else { + push (@{$part->{PRIVATE_DEPENDENCIES}}, "LIBREPLACE"); + } +} + sub check_subsystem($$$) { my ($INPUT, $subsys, $default_ot) = @_; @@ -38,6 +57,7 @@ sub check_subsystem($$$) unless(defined($subsys->{OUTPUT_TYPE})) { $subsys->{OUTPUT_TYPE} = $default_ot; } + add_libreplace($subsys); } sub check_module($$$) @@ -75,6 +95,7 @@ sub check_module($$$) } else { push (@{$INPUT->{$mod->{SUBSYSTEM}}{INIT_FUNCTIONS}}, $mod->{INIT_FUNCTION}) if defined($mod->{INIT_FUNCTION}); } + add_libreplace($mod); } sub check_library($$$) @@ -100,6 +121,7 @@ sub check_library($$$) } $lib->{INSTALLDIR} = "LIBDIR"; + add_libreplace($lib); } sub check_binary($$) @@ -111,6 +133,7 @@ sub check_binary($$) ($bin->{BINARY} = (lc $bin->{NAME})) if not defined($bin->{BINARY}); $bin->{OUTPUT_TYPE} = "BINARY"; + add_libreplace($bin); } sub import_integrated($$) diff --git a/source4/build/smb_build/makefile.pm b/source4/build/smb_build/makefile.pm index 5309adea1d..a453cb6203 100644 --- a/source4/build/smb_build/makefile.pm +++ b/source4/build/smb_build/makefile.pm @@ -117,7 +117,7 @@ sub _prepare_compiler_linker($) } if (!(abs_path($self->{config}->{srcdir}) eq abs_path($self->{config}->{builddir}))) { - $builddir_headers= "-I\$(builddir)/include -I\$(builddir)/lib/replace -I\$(builddir) -I\$(builddir)/lib "; + $builddir_headers= "-I\$(builddir)/include -I\$(builddir) -I\$(builddir)/lib "; } $self->output(<< "__EOD__" @@ -126,7 +126,7 @@ SHELL=$self->{config}->{SHELL} PERL=$self->{config}->{PERL} CPP=$self->{config}->{CPP} -CPPFLAGS=$builddir_headers-I\$(srcdir)/include -I\$(srcdir)/lib/replace -I\$(srcdir) -I\$(srcdir)/lib -D_SAMBA_BUILD_ -DHAVE_CONFIG_H $self->{config}->{CPPFLAGS} +CPPFLAGS=$builddir_headers-I\$(srcdir)/include -I\$(srcdir) -I\$(srcdir)/lib -D_SAMBA_BUILD_ -DHAVE_CONFIG_H $self->{config}->{CPPFLAGS} CC=$self->{config}->{CC} CFLAGS=$self->{config}->{CFLAGS} \$(CPPFLAGS) diff --git a/source4/heimdal_build/config.mk b/source4/heimdal_build/config.mk index 18aa705c33..1443d87338 100644 --- a/source4/heimdal_build/config.mk +++ b/source4/heimdal_build/config.mk @@ -393,6 +393,7 @@ OBJ_FILES = ../heimdal/lib/asn1/lex.ho # Start BINARY asn1_compile [BINARY::asn1_compile] CFLAGS = -Iheimdal_build -Iheimdal/lib/roken +USE_HOSTCC = YES OBJ_FILES = \ ../heimdal/lib/asn1/main.ho \ ../heimdal/lib/asn1/gen.ho \ @@ -412,10 +413,8 @@ OBJ_FILES = \ ../heimdal/lib/roken/estrdup.ho \ ../heimdal/lib/roken/ecalloc.ho \ ../heimdal/lib/asn1/symbol.ho \ - replace.ho \ ../heimdal/lib/vers/print_version.ho \ - ../lib/replace/snprintf.ho \ - ../lib/replace/replace.ho + replace.ho PRIVATE_DEPENDENCIES = HEIMDAL_ASN1_COMPILE_LEX HEIMDAL_ROKEN_GETPROGNAME_H # End BINARY asn1_compile ####################### @@ -432,6 +431,7 @@ OBJ_FILES = ../heimdal/lib/com_err/lex.ho # Start BINARY compile_et [BINARY::compile_et] CFLAGS = -Iheimdal_build -Iheimdal/lib/roken +USE_HOSTCC = YES OBJ_FILES = ../heimdal/lib/vers/print_version.ho \ ../heimdal/lib/com_err/parse.ho \ ../heimdal/lib/com_err/compile_et.ho \ @@ -439,9 +439,7 @@ OBJ_FILES = ../heimdal/lib/vers/print_version.ho \ ../heimdal/lib/roken/get_window_size.ho \ ../heimdal/lib/roken/strupr.ho \ ../heimdal/lib/roken/setprogname.ho \ - replace.ho \ - ../lib/replace/snprintf.ho \ - ../lib/replace/replace.ho + replace.ho PRIVATE_DEPENDENCIES = HEIMDAL_COM_ERR_COMPILE_LEX HEIMDAL_ROKEN_GETPROGNAME_H # End BINARY compile_et ####################### diff --git a/source4/lib/replace/config.mk b/source4/lib/replace/config.mk index dd338ac305..1e940b0a71 100644 --- a/source4/lib/replace/config.mk +++ b/source4/lib/replace/config.mk @@ -18,3 +18,12 @@ OBJ_FILES = replace.o \ PUBLIC_DEPENDENCIES = REPLACE_READDIR DL # End SUBSYSTEM LIBREPLACE ############################## + +[SUBSYSTEM::LIBREPLACE_HOSTCC] +CFLAGS = -Ilib/replace +OBJ_FILES = replace.ho \ + snprintf.ho \ + dlfcn.ho \ + getpass.ho \ + timegm.ho + |