aboutsummaryrefslogtreecommitdiff
path: root/src/mac/ErrorTables.jam
diff options
context:
space:
mode:
Diffstat (limited to 'src/mac/ErrorTables.jam')
-rw-r--r--src/mac/ErrorTables.jam120
1 files changed, 120 insertions, 0 deletions
diff --git a/src/mac/ErrorTables.jam b/src/mac/ErrorTables.jam
new file mode 100644
index 0000000..595056c
--- /dev/null
+++ b/src/mac/ErrorTables.jam
@@ -0,0 +1,120 @@
+#include "$(JAMBASE_DIR)/Jambase" ;
+include "/Developer/Makefiles/pbx_jamfiles/Jambase" ;
+
+SED = /usr/bin/sed ;
+AWK = /usr/bin/awk ;
+
+GSSKRB5_TEMP_DIR = "$(SYMROOT)/GSSKerberos5.intermediates" ;
+COMPILE_ET_SCRIPT = "$(GSSKRB5_TEMP_DIR)/compile_et" ;
+
+COMERR_DIR = "$(SRCROOT)/../util/et" ;
+COMPILE_ET_SH = "$(COMERR_DIR)/compile_et.sh" ;
+CONFIG_SCRIPT = "$(COMERR_DIR)/config_script" ;
+
+COMPILE_ET_SH_EXEC = "$(GSSKRB5_TEMP_DIR)/compile_et.sh" ;
+CONFIG_SCRIPT_EXEC = "$(GSSKRB5_TEMP_DIR)/config_script" ;
+
+PROFILE_DIR = "$(SRCROOT)/../util/profile" ;
+ERROR_TABLES_DIR = "$(SRCROOT)/../lib/krb5/error_tables" ;
+GSS_GENERIC_DIR = "$(SRCROOT)/../lib/gssapi/generic" ;
+GSS_KRB5_DIR = "$(SRCROOT)/../lib/gssapi/krb5" ;
+
+# We need these error tables to install and to build the public headers (ie: krb5.h)
+DEPENDS install : all ;
+DEPENDS installhdrs : all ;
+
+# The list of error tables we need to generate to build:
+DEPENDS all : "$(GSSKRB5_TEMP_DIR)"
+ "$(GSSKRB5_TEMP_DIR)/prof_err.c"
+ "$(GSSKRB5_TEMP_DIR)/prof_err.h"
+ "$(GSSKRB5_TEMP_DIR)/adm_err.c"
+ "$(GSSKRB5_TEMP_DIR)/adm_err.h"
+ "$(GSSKRB5_TEMP_DIR)/asn1_err.c"
+ "$(GSSKRB5_TEMP_DIR)/asn1_err.h"
+ "$(GSSKRB5_TEMP_DIR)/kdb5_err.c"
+ "$(GSSKRB5_TEMP_DIR)/kdb5_err.h"
+ "$(GSSKRB5_TEMP_DIR)/krb5_err.c"
+ "$(GSSKRB5_TEMP_DIR)/krb5_err.h"
+ "$(GSSKRB5_TEMP_DIR)/kv5m_err.c"
+ "$(GSSKRB5_TEMP_DIR)/kv5m_err.h"
+ "$(GSSKRB5_TEMP_DIR)/gssapi_err_generic.c"
+ "$(GSSKRB5_TEMP_DIR)/gssapi_err_generic.h"
+ "$(GSSKRB5_TEMP_DIR)/gssapi_err_krb5.c"
+ "$(GSSKRB5_TEMP_DIR)/gssapi_err_krb5.h" ;
+
+# The header files and scripts we need to remove
+Clean.Remove clean : "$(GSSKRB5_TEMP_DIR)/prof_err.c"
+ "$(GSSKRB5_TEMP_DIR)/prof_err.h"
+ "$(GSSKRB5_TEMP_DIR)/adm_err.c"
+ "$(GSSKRB5_TEMP_DIR)/adm_err.h"
+ "$(GSSKRB5_TEMP_DIR)/asn1_err.c"
+ "$(GSSKRB5_TEMP_DIR)/asn1_err.h"
+ "$(GSSKRB5_TEMP_DIR)/kdb5_err.c"
+ "$(GSSKRB5_TEMP_DIR)/kdb5_err.h"
+ "$(GSSKRB5_TEMP_DIR)/krb5_err.c"
+ "$(GSSKRB5_TEMP_DIR)/krb5_err.h"
+ "$(GSSKRB5_TEMP_DIR)/kv5m_err.c"
+ "$(GSSKRB5_TEMP_DIR)/kv5m_err.h"
+ "$(GSSKRB5_TEMP_DIR)/gssapi_err_generic.c"
+ "$(GSSKRB5_TEMP_DIR)/gssapi_err_generic.h"
+ "$(GSSKRB5_TEMP_DIR)/gssapi_err_krb5.c"
+ "$(GSSKRB5_TEMP_DIR)/gssapi_err_krb5.h"
+ "$(COMPILE_ET_SCRIPT)" ;
+
+# JAM Rules:
+
+rule CompileEt
+{
+ DEPENDS "$(1)" : "$(2)" ;
+ DEPENDS "$(1)" : "$(COMPILE_ET_SCRIPT)" ;
+}
+
+actions CompileEt
+{
+ ( cd "$(1[1]:D)" && "$(COMPILE_ET_SCRIPT)" "$(2)" ) ;
+}
+
+rule GenerateCompileEt
+{
+ DEPENDS "$(1)" : "$(2[1]:D)/et_c.awk" "$(2[1]:D)/et_h.awk" ;
+ Cp "$(2[1]:D)/et_c.awk" : "$(COMERR_DIR)/et_c.awk" ;
+ Cp "$(2[1]:D)/et_h.awk" : "$(COMERR_DIR)/et_h.awk" ;
+ DEPENDS "$(1)" : "$(2)" ;
+}
+
+actions GenerateCompileEt
+{
+ chmod 755 "$(2)" ;
+ "$(2)" "$(AWK)" "$(SED)" > "$(1)";
+ chmod 755 "$(1)" ;
+}
+
+# Rule to make the temporary directory
+Mkdir "$(GSSKRB5_TEMP_DIR)" ;
+
+# Copy the scripts to temp space so we can make them +x
+Cp "$(CONFIG_SCRIPT_EXEC)" : "$(CONFIG_SCRIPT)" ;
+Cp "$(COMPILE_ET_SH_EXEC)" : "$(COMPILE_ET_SH)" ;
+
+# Rule to generate compile_et, which builds the scripts
+GenerateCompileEt "$(COMPILE_ET_SCRIPT)" : "$(CONFIG_SCRIPT_EXEC)" "$(COMPILE_ET_SH_EXEC)" ;
+
+# Rules to generate the error tables
+CompileEt "$(GSSKRB5_TEMP_DIR)/prof_err.c"
+ "$(GSSKRB5_TEMP_DIR)/prof_err.h" : "$(PROFILE_DIR)/prof_err.et" ;
+CompileEt "$(GSSKRB5_TEMP_DIR)/adm_err.c"
+ "$(GSSKRB5_TEMP_DIR)/adm_err.h" : "$(ERROR_TABLES_DIR)/adm_err.et" ;
+CompileEt "$(GSSKRB5_TEMP_DIR)/asn1_err.c"
+ "$(GSSKRB5_TEMP_DIR)/asn1_err.h" : "$(ERROR_TABLES_DIR)/asn1_err.et" ;
+CompileEt "$(GSSKRB5_TEMP_DIR)/kdb5_err.c"
+ "$(GSSKRB5_TEMP_DIR)/kdb5_err.h" : "$(ERROR_TABLES_DIR)/kdb5_err.et" ;
+CompileEt "$(GSSKRB5_TEMP_DIR)/krb5_err.c"
+ "$(GSSKRB5_TEMP_DIR)/krb5_err.h" : "$(ERROR_TABLES_DIR)/krb5_err.et" ;
+CompileEt "$(GSSKRB5_TEMP_DIR)/kv5m_err.c"
+ "$(GSSKRB5_TEMP_DIR)/kv5m_err.h" : "$(ERROR_TABLES_DIR)/kv5m_err.et" ;
+CompileEt "$(GSSKRB5_TEMP_DIR)/gssapi_err_generic.c"
+ "$(GSSKRB5_TEMP_DIR)/gssapi_err_generic.h" : "$(GSS_GENERIC_DIR)/gssapi_err_generic.et" ;
+CompileEt "$(GSSKRB5_TEMP_DIR)/gssapi_err_krb5.c"
+ "$(GSSKRB5_TEMP_DIR)/gssapi_err_krb5.h" : "$(GSS_KRB5_DIR)/gssapi_err_krb5.et" ;
+
+