Modified Header Generation target so it runs autoconf and builds the autogenerated...
authorAlexandra Ellwood <lxs@mit.edu>
Mon, 14 Jun 2004 15:07:20 +0000 (15:07 +0000)
committerAlexandra Ellwood <lxs@mit.edu>
Mon, 14 Jun 2004 15:07:20 +0000 (15:07 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16441 dc483132-0cff-0310-8789-dd5450dbe970

src/mac/MacOSX/Scripts/Kerberos5BuildSystem.jam [new file with mode: 0644]
src/mac/MacOSX/Scripts/Kerberos5Headers.jam
src/mac/MacOSX/Scripts/Kerberos5ServerBuild.jam

diff --git a/src/mac/MacOSX/Scripts/Kerberos5BuildSystem.jam b/src/mac/MacOSX/Scripts/Kerberos5BuildSystem.jam
new file mode 100644 (file)
index 0000000..72d3485
--- /dev/null
@@ -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 <configure> : <configure.in>
+rule Reconf
+{
+    DEPENDS "$(1)" : "$(1).in" "$(Reconf)" ;
+}
+actions Reconf
+{
+    cd "$(Sources)" && /bin/sh "$(Reconf)" -f
+}
+
+# Configure <makefile> : <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 <stamp file>
+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 <stamp file>
+rule Make
+{
+    DEPENDS "$(1)" : "$(Makefile)" ;
+    Configure "$(Makefile)" : "$(Configure)" ;
+    Clean.Remove clean "$(1)" ;
+}
+actions Make
+{
+    cd "$(1:D)" && make && touch "$(1)" && echo "### HAPPINESS ###"
+}
index de62e18c6f15d65651a6098b5540ea0186f3ac5f..9defc77365fd8f427cc7de4b6c3a4f4784508c2f 100644 (file)
@@ -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 (<STDIN>) { 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"
 
index 24e8944e1c90c47772c94cd93f449a4df16feb51..8440de1b5d7474217f644a939b4a676b74a49eb5 100644 (file)
@@ -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 <configure> : <configure.in>
-rule Reconf
-{
-    DEPENDS "$(1)" : "$(1).in" "$(Reconf)" ;
-}
-actions Reconf
-{
-    cd "$(Sources)" && /bin/sh "$(Reconf)" -f
-}
-
-# Configure <makefile> : <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 <stamp file> : <makefile>
-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 <destination executable> : <source executable>
 rule InstallProgram
 {