From 3deece559159150a0710d8160f39583ba7f2e582 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Sun, 31 Oct 2010 02:17:29 +0100 Subject: s4: Remove the old perl/m4/make/mk-based build system. The new waf-based build system now has all the same functionality, and the old build system has been broken for quite some time. Autobuild-User: Jelmer Vernooij Autobuild-Date: Sun Oct 31 02:01:44 UTC 2010 on sn-devel-104 --- source4/build/smb_build/output.pm | 172 -------------------------------------- 1 file changed, 172 deletions(-) delete mode 100644 source4/build/smb_build/output.pm (limited to 'source4/build/smb_build/output.pm') diff --git a/source4/build/smb_build/output.pm b/source4/build/smb_build/output.pm deleted file mode 100644 index aada681ef4..0000000000 --- a/source4/build/smb_build/output.pm +++ /dev/null @@ -1,172 +0,0 @@ -# SMB Build System -# - the output generating functions -# -# Copyright (C) Stefan (metze) Metzmacher 2004 -# Copyright (C) Jelmer Vernooij 2004 -# Released under the GNU GPL - -package output; -use strict; - -sub generate_shared_library($) -{ - my $lib = shift; - my $link_name; - my $lib_name; - - $lib->{DEPEND_LIST} = []; - - $link_name = lc($lib->{NAME}); - $lib_name = $link_name; - - if ($lib->{TYPE} eq "LIBRARY") { - $link_name = $lib->{NAME}; - $link_name =~ s/^LIB//; - $link_name = lc($link_name); - $lib_name = "lib$link_name"; - } - - if ($lib->{TYPE} eq "PYTHON") { - $lib->{SHAREDDIR} = "bin/python"; - } elsif (defined($lib->{LIBRARY_REALNAME})) { - $lib->{BASEDIR} =~ s/^\.\///g; - $lib->{SHAREDDIR} = $lib->{BASEDIR}; - } else { - if ($lib->{TYPE} eq "MODULE") { - my $sane_subsystem = lc($lib->{SUBSYSTEM}); - $sane_subsystem =~ s/^lib//; - $lib->{SHAREDDIR} = "bin/modules/$sane_subsystem"; - $lib->{LIBRARY_REALNAME} = $link_name; - $lib->{LIBRARY_REALNAME} =~ s/^$sane_subsystem\_//g; - $lib->{LIBRARY_REALNAME}.= ".\$(SHLIBEXT)"; - } else { - $lib->{SHAREDDIR} = "\$(shliboutputdir)"; - $lib->{LIBRARY_REALNAME} = "$lib_name.\$(SHLIBEXT)"; - } - } - - $lib->{LIBRARY_DEBUGNAME} = $lib->{LIBRARY_REALNAME}; - - $lib->{LIBRARY_SONAME} = "\$(if \$($lib->{NAME}_SOVERSION),$lib->{LIBRARY_REALNAME}.\$($lib->{NAME}_SOVERSION),$lib->{LIBRARY_REALNAME})"; - $lib->{LIBRARY_REALNAME} = "\$(if \$($lib->{NAME}_VERSION),$lib->{LIBRARY_REALNAME}.\$($lib->{NAME}_VERSION),$lib->{LIBRARY_REALNAME})"; - - $lib->{RESULT_SHARED_LIBRARY} = "$lib->{SHAREDDIR}/$lib->{LIBRARY_REALNAME}"; - $lib->{OUTPUT_SHARED_LIBRARY} = "-l$link_name"; - $lib->{TARGET_SHARED_LIBRARY} = "$lib->{SHAREDDIR}/$lib->{LIBRARY_DEBUGNAME}"; -} - -sub generate_merged_obj($) -{ - my $lib = shift; - - my $link_name = $lib->{NAME}; - $link_name =~ s/^LIB//; - - $lib->{MERGED_OBJNAME} = lc($link_name).".o"; - $lib->{RESULT_MERGED_OBJ} = $lib->{OUTPUT_MERGED_OBJ} = "bin/mergedobj/$lib->{MERGED_OBJNAME}"; - $lib->{TARGET_MERGED_OBJ} = $lib->{RESULT_MERGED_OBJ}; -} - -sub generate_static_library($) -{ - my $lib = shift; - my $link_name; - - $lib->{DEPEND_LIST} = []; - - $link_name = $lib->{NAME}; - $link_name =~ s/^LIB//; - - $lib->{LIBRARY_NAME} = "lib".lc($link_name).".a"; - - $lib->{RESULT_STATIC_LIBRARY} = "bin/static/$lib->{LIBRARY_NAME}"; - $lib->{TARGET_STATIC_LIBRARY} = $lib->{RESULT_STATIC_LIBRARY}; - $lib->{STATICDIR} = 'bin/static'; - $lib->{OUTPUT_STATIC_LIBRARY} = "-l".lc($link_name); -} - -sub generate_binary($) -{ - my $bin = shift; - - $bin->{DEPEND_LIST} = []; - push(@{$bin->{LINK_FLAGS}}, "\$($bin->{NAME}\_FULL_OBJ_LIST)"); - - $bin->{DEBUGDIR} = "bin"; - $bin->{RESULT_BINARY} = $bin->{OUTPUT_BINARY} = "$bin->{DEBUGDIR}/$bin->{NAME}"; - $bin->{TARGET_BINARY} = $bin->{RESULT_BINARY}; - $bin->{BINARY} = $bin->{NAME}; -} - -sub merge_array($$) -{ - # $dest is a reference to an array - # $src is an array - my ($dest, $src) = @_; - - return unless defined($src); - return unless ($#{$src} >= 0); - - foreach my $line (@{$src}) { - next if (grep /^$line$/, @{$$dest}); - push(@{$$dest}, $line); - } -} - -sub create_output($$) -{ - my ($depend, $config) = @_; - my $part; - - foreach $part (values %{$depend}) { - next unless(defined($part->{OUTPUT_TYPE})); - - generate_binary($part) if grep(/BINARY/, @{$part->{OUTPUT_TYPE}}); - generate_shared_library($part) if grep(/SHARED_LIBRARY/, @{$part->{OUTPUT_TYPE}}); - generate_static_library($part) if grep(/STATIC_LIBRARY/, @{$part->{OUTPUT_TYPE}}); - generate_merged_obj($part) if grep(/MERGED_OBJ/, @{$part->{OUTPUT_TYPE}}); - $part->{OUTPUT} = $part->{"OUTPUT_" . @{$part->{OUTPUT_TYPE}}[0]}; - $part->{TARGET} = $part->{"TARGET_" . @{$part->{OUTPUT_TYPE}}[0]}; - } - - foreach $part (values %{$depend}) { - next if not defined($part->{OUTPUT_TYPE}); - - merge_array(\$part->{FINAL_CFLAGS}, $part->{CPPFLAGS}); - merge_array(\$part->{FINAL_CFLAGS}, $part->{CFLAGS}); - - foreach (@{$part->{UNIQUE_DEPENDENCIES_ALL}}) { - my $elem = $depend->{$_}; - next if $elem == $part; - - merge_array(\$part->{FINAL_CFLAGS}, $elem->{CPPFLAGS}); - merge_array(\$part->{FINAL_CFLAGS}, $elem->{CFLAGS}); - } - - # Always import the link options of the unique dependencies - foreach (@{$part->{UNIQUE_DEPENDENCIES_LINK}}) { - my $elem = $depend->{$_}; - next if $elem == $part; - - push(@{$part->{LINK_FLAGS}}, @{$elem->{LIBS}}) if defined($elem->{LIBS}); - push(@{$part->{LINK_FLAGS}}, @{$elem->{LDFLAGS}}) if defined($elem->{LDFLAGS}); - if (defined($elem->{OUTPUT_TYPE}) and @{$elem->{OUTPUT_TYPE}}[0] eq "MERGED_OBJ") { - push (@{$part->{FULL_OBJ_LIST}}, $elem->{TARGET}); - } else { - push(@{$part->{LINK_FLAGS}}, "\$($elem->{NAME}_OUTPUT)") if defined($elem->{OUTPUT}); - push(@{$part->{DEPEND_LIST}}, $elem->{TARGET}) if (defined($elem->{TARGET})); - } - } - } - - foreach $part (values %{$depend}) { - if (defined($part->{STANDARD_VISIBILITY}) and ($part->{STANDARD_VISIBILITY} ne "default") and - ($config->{visibility_attribute} eq "yes")) { - push(@{$part->{FINAL_CFLAGS}}, "-fvisibility=$part->{STANDARD_VISIBILITY}"); - } - } - - return $depend; -} - -1; -- cgit