From c635d0a5eee55cf1ec365f4bf6a3eac6491c8a48 Mon Sep 17 00:00:00 2001 From: Alexandra Ellwood Date: Mon, 14 Jun 2004 15:07:20 +0000 Subject: [PATCH] Modified Header Generation target so it runs autoconf and builds the autogenerated headers for the split libraries and clients build systems git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16441 dc483132-0cff-0310-8789-dd5450dbe970 --- .../MacOSX/Scripts/Kerberos5BuildSystem.jam | 76 +++++++++++++++++++ src/mac/MacOSX/Scripts/Kerberos5Headers.jam | 9 +++ .../MacOSX/Scripts/Kerberos5ServerBuild.jam | 62 +-------------- 3 files changed, 86 insertions(+), 61 deletions(-) create mode 100644 src/mac/MacOSX/Scripts/Kerberos5BuildSystem.jam diff --git a/src/mac/MacOSX/Scripts/Kerberos5BuildSystem.jam b/src/mac/MacOSX/Scripts/Kerberos5BuildSystem.jam new file mode 100644 index 000000000..72d3485ab --- /dev/null +++ b/src/mac/MacOSX/Scripts/Kerberos5BuildSystem.jam @@ -0,0 +1,76 @@ +Intermediates = "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates" ; +IntermediateBuild = "$(Intermediates)/build" ; +Sources = "$(SRCROOT)/../../Kerberos5/Sources" ; + +Reconf = "$(Sources)/util/reconf" ; +Configure = "$(Sources)/configure" ; +Makefile = "$(IntermediateBuild)/Makefile" ; +MakefileET = "$(IntermediateBuild)/util/et/Makefile" ; +MakefileInclude = "$(IntermediateBuild)/include/Makefile" ; + + +# Assemble CFLAGS +CONFIGURE_CFLAGS = "-fno-common -include /usr/include/TargetConditionals.h -DUSE_PASSWORD_SERVER" ; +if $(RC_CFLAGS) != "" { CONFIGURE_CFLAGS = "$(CONFIGURE_CFLAGS) $(RC_CFLAGS)" ; } +if $(CFLAGS) != "" { CONFIGURE_CFLAGS = "$(CONFIGURE_CFLAGS) $(CFLAGS)" ; } +if $(OTHER_CFLAGS) != "" { CONFIGURE_CFLAGS = "$(CONFIGURE_CFLAGS) $(OTHER_CFLAGS)" ; } +if $(WARNING_CFLAGS) != "" { CONFIGURE_CFLAGS = "$(CONFIGURE_CFLAGS) $(WARNING_CFLAGS)" ; } +CONFIGURE_CFLAGS = "CFLAGS=$(CONFIGURE_CFLAGS)" ; + +# Assemble LDFLAGS +CONFIGURE_LDFLAGS = "-Wl,-search_paths_first" ; +if $(LDFLAGS) != "" { CONFIGURE_LDFLAGS = "$(LDFLAGS) $(CONFIGURE_LDFLAGS)" ; } +CONFIGURE_LDFLAGS = "LDFLAGS=$(CONFIGURE_LDFLAGS:)" ; + +# +# Note: in this jam script we have separated the dependency tree from the +# actual scripts. This is so that CVS checkouts trigger a rebuild but the jam +# script doesn't need to know how the reconf and configure scripts work. +# + +# Reconf : +rule Reconf +{ + DEPENDS "$(1)" : "$(1).in" "$(Reconf)" ; +} +actions Reconf +{ + cd "$(Sources)" && /bin/sh "$(Reconf)" -f +} + +# Configure : +rule Configure +{ + DEPENDS "$(1)" : "$(2)" ; + Reconf "$(2)" : "$(2).in" ; + Clean.Remove clean "$(1:D)" ; +} +actions Configure +{ + mkdir -p "$(1:D)" + cd "$(1:D)" && /bin/sh "$(2)" --prefix=/usr --localstatedir=/var/db "$(CONFIGURE_CFLAGS)" "$(CONFIGURE_LDFLAGS)" || rm -f "$(1)" +} + +# MakeInclude +rule MakeInclude +{ + DEPENDS "$(1)" : "$(Makefile)" ; + Configure "$(Makefile)" : "$(Configure)" ; + Clean.Remove clean "$(1)" ; +} +actions MakeInclude +{ + cd "$(1:D)/util/et" && make && cd "$(1:D)/include" && make && touch "$(1)" && echo "### HAPPINESS ###" +} + +# Make +rule Make +{ + DEPENDS "$(1)" : "$(Makefile)" ; + Configure "$(Makefile)" : "$(Configure)" ; + Clean.Remove clean "$(1)" ; +} +actions Make +{ + cd "$(1:D)" && make && touch "$(1)" && echo "### HAPPINESS ###" +} diff --git a/src/mac/MacOSX/Scripts/Kerberos5Headers.jam b/src/mac/MacOSX/Scripts/Kerberos5Headers.jam index de62e18c6..9defc7736 100644 --- a/src/mac/MacOSX/Scripts/Kerberos5Headers.jam +++ b/src/mac/MacOSX/Scripts/Kerberos5Headers.jam @@ -1,3 +1,5 @@ +include "$(SRCROOT)/../Scripts/Kerberos5BuildSystem.jam" ; + ErrorTableRegexp = "/^\\s*#define\\s+\\w+\(\\s+\\(-?\\d+L\\)\)|\(initialize_\\w+_error_table\\(\\)\)\\s*$/" ; ExtractErrorCodes = "perl -e 'while () { if ($(ErrorTableRegexp)) { print; } }'" ; @@ -10,6 +12,8 @@ IntermediateGSSIncludes = "$(IntermediateIncludes)/gssapi" ; IntermediateFrameworkHeaders = "$(Intermediates)/Kerberos" ; IntermediateBuild = "$(Intermediates)/build" ; +MakeIncludeStamp = "$(IntermediateBuild)/makeInclude.stamp" ; + AutoconfH = "$(IntermediateV5Includes)/autoconf.h" ; OsconfH = "$(IntermediateV5Includes)/osconf.h" ; @@ -112,9 +116,14 @@ MakeFrameworkHeader "$(IntermediateFrameworkHeaders)/gssapi.h" : "$(Inte MakeFrameworkHeader "$(IntermediateFrameworkHeaders)/gssapi_generic.h" : "$(IntermediateGSSIncludes)/gssapi_generic.h" ; MakeFrameworkHeader "$(IntermediateFrameworkHeaders)/gssapi_krb5.h" : "$(IntermediateGSSIncludes)/gssapi_krb5.h" ; + +MakeInclude "$(MakeIncludeStamp)" ; +DEPENDS "$(IntermediateBuild)/include/krb5/autoconf.h" "$(IntermediateBuild)/include/krb5/osconf.h" : "$(MakeIncludeStamp)" ; + CopyHeader "$(AutoconfH)" : "$(IntermediateBuild)/include/krb5/autoconf.h" ; CopyHeader "$(OsconfH)" : "$(IntermediateBuild)/include/krb5/osconf.h" ; + DEPENDS all : "$(IntermediateIncludes)/com_err.h" "$(IntermediateFrameworkHeaders)/com_err.h" diff --git a/src/mac/MacOSX/Scripts/Kerberos5ServerBuild.jam b/src/mac/MacOSX/Scripts/Kerberos5ServerBuild.jam index 24e8944e1..8440de1b5 100644 --- a/src/mac/MacOSX/Scripts/Kerberos5ServerBuild.jam +++ b/src/mac/MacOSX/Scripts/Kerberos5ServerBuild.jam @@ -1,67 +1,7 @@ -Intermediates = "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates" ; -IntermediateBuild = "$(Intermediates)/build" ; -Sources = "$(SRCROOT)/../../Kerberos5/Sources" ; +include "$(SRCROOT)/../Scripts/Kerberos5BuildSystem.jam" ; -Reconf = "$(Sources)/util/reconf" ; -Configure = "$(Sources)/configure" ; -Makefile = "$(IntermediateBuild)/Makefile" ; MakeStamp = "$(IntermediateBuild)/make.stamp" ; -# Assemble CFLAGS -CONFIGURE_CFLAGS = "-fno-common -include /usr/include/TargetConditionals.h -DUSE_PASSWORD_SERVER" ; -if $(RC_CFLAGS) != "" { CONFIGURE_CFLAGS = "$(CONFIGURE_CFLAGS) $(RC_CFLAGS)" ; } -if $(CFLAGS) != "" { CONFIGURE_CFLAGS = "$(CONFIGURE_CFLAGS) $(CFLAGS)" ; } -if $(OTHER_CFLAGS) != "" { CONFIGURE_CFLAGS = "$(CONFIGURE_CFLAGS) $(OTHER_CFLAGS)" ; } -if $(WARNING_CFLAGS) != "" { CONFIGURE_CFLAGS = "$(CONFIGURE_CFLAGS) $(WARNING_CFLAGS)" ; } -CONFIGURE_CFLAGS = "CFLAGS=$(CONFIGURE_CFLAGS)" ; - -# Assemble LDFLAGS -CONFIGURE_LDFLAGS = "-Wl,-search_paths_first" ; -if $(LDFLAGS) != "" { CONFIGURE_LDFLAGS = "$(LDFLAGS) $(CONFIGURE_LDFLAGS)" ; } -CONFIGURE_LDFLAGS = "LDFLAGS=$(CONFIGURE_LDFLAGS:)" ; - -# -# Note: in this jam script we have separated the dependency tree from the -# actual scripts. This is so that CVS checkouts trigger a rebuild but the jam -# script doesn't need to know how the reconf and configure scripts work. -# - -# Reconf : -rule Reconf -{ - DEPENDS "$(1)" : "$(1).in" "$(Reconf)" ; -} -actions Reconf -{ - cd "$(Sources)" && /bin/sh "$(Reconf)" -f -} - -# Configure : -rule Configure -{ - DEPENDS "$(1)" : "$(2)" ; - Reconf "$(2)" : "$(2).in" ; - Clean.Remove clean "$(1:D)" ; -} -actions Configure -{ - mkdir -p "$(1:D)" - cd "$(1:D)" && /bin/sh "$(2)" --prefix=/usr --localstatedir=/var/db "$(CONFIGURE_CFLAGS)" "$(CONFIGURE_LDFLAGS)" || rm -f "$(1)" -} - -# Make : -rule Make -{ - DEPENDS "$(1)" : "$(2)" ; - Configure "$(2)" : "$(Configure)" ; - Clean.Remove clean "$(1)" ; -} -actions Make -{ - mkdir -p "$(1:D)" - cd "$(1:D)" && make && touch "$(1)" && echo "### HAPPINESS ###" -} - # InstallProgram : rule InstallProgram { -- 2.26.2