905be2b596 2011-09-06 stephan: #!/bin/bash 905be2b596 2011-09-06 stephan: ######################################################################## 905be2b596 2011-09-06 stephan: # Generates an "amalgamation build" for cson, including only the components 905be2b596 2011-09-06 stephan: # needed for adding cson to the Fossil SCM system. 905be2b596 2011-09-06 stephan: # Output is two files, cson_amalgamation_fossil.{c,h}. 905be2b596 2011-09-06 stephan: ######################################################################## 905be2b596 2011-09-06 stephan: 905be2b596 2011-09-06 stephan: LIB_BASH=createAmalgamation-lib.bash 905be2b596 2011-09-06 stephan: . ${LIB_BASH} || { 905be2b596 2011-09-06 stephan: echo "Could not source config/lib script [${LIB_BASH}]." 905be2b596 2011-09-06 stephan: exit 127 905be2b596 2011-09-06 stephan: } 905be2b596 2011-09-06 stephan: 905be2b596 2011-09-06 stephan: AMAL_SOURCES=" 905be2b596 2011-09-06 stephan: parser/JSON_parser.h 905be2b596 2011-09-06 stephan: parser/JSON_parser.c 905be2b596 2011-09-06 stephan: ${dir_src}/cson.c 905be2b596 2011-09-06 stephan: ${dir_src}/cson_lists.h b449884433 2011-09-09 stephan: ${dir_src}/cson_session.c b449884433 2011-09-09 stephan: ${dir_src}/cson_session_file.c 905be2b596 2011-09-06 stephan: ${dir_src}/cson_sqlite3.c b449884433 2011-09-09 stephan: cgi/whuuid.h b449884433 2011-09-09 stephan: cgi/whuuid.c b449884433 2011-09-09 stephan: cgi/cson_cgi.c 905be2b596 2011-09-06 stephan: " b449884433 2011-09-09 stephan: # Reminder: fossil doesn't need cson_session_file.c b449884433 2011-09-09 stephan: # but it is the reference session impl and is used without any sort of b449884433 2011-09-09 stephan: # #if block. b449884433 2011-09-09 stephan: 905be2b596 2011-09-06 stephan: # The ordering of headers is important for the amalgamation build 905be2b596 2011-09-06 stephan: AMAL_HEADERS=" 905be2b596 2011-09-06 stephan: ${inc_cson}/cson.h 905be2b596 2011-09-06 stephan: ${inc_cson}/cson_sqlite3.h b449884433 2011-09-09 stephan: ${inc_cson}/cson_session.h b449884433 2011-09-09 stephan: ${inc_cson}/cson_cgi.h 905be2b596 2011-09-06 stephan: " 905be2b596 2011-09-06 stephan: #set -x 905be2b596 2011-09-06 stephan: AMAL_FOSSIL_C=cson_amalgamation_fossil.c 905be2b596 2011-09-06 stephan: AMAL_FOSSIL_H=cson_amalgamation_fossil.h 905be2b596 2011-09-06 stephan: wh_create_code \ 905be2b596 2011-09-06 stephan: ${AMAL_HEADERS} > ${AMAL_FOSSIL_H} 905be2b596 2011-09-06 stephan: wh_create_code \ 905be2b596 2011-09-06 stephan: -i ${AMAL_FOSSIL_H} \ 905be2b596 2011-09-06 stephan: ${AMAL_SOURCES} > ${AMAL_FOSSIL_C} 905be2b596 2011-09-06 stephan: b449884433 2011-09-09 stephan: perl -i -p \ b449884433 2011-09-09 stephan: -e 's|\s*#\s*define\s*CSON_ENABLE_SQLITE3.*|#define CSON_ENABLE_SQLITE3 1|' \ b449884433 2011-09-09 stephan: ${AMAL_FOSSIL_H} b449884433 2011-09-09 stephan: 905be2b596 2011-09-06 stephan: echo "Done:" 905be2b596 2011-09-06 stephan: 905be2b596 2011-09-06 stephan: ls -la ${AMAL_FOSSIL_C} ${AMAL_FOSSIL_H} 905be2b596 2011-09-06 stephan: 905be2b596 2011-09-06 stephan: CFLAGS="${CFLAGS} -std=c89 -DCSON_ENABLE_SQLITE3=1" 905be2b596 2011-09-06 stephan: wh_try_compilers ${AMAL_FOSSIL_C} b449884433 2011-09-09 stephan: b449884433 2011-09-09 stephan: myfsl=$HOME/cvs/fossil/fossil-sgb b449884433 2011-09-09 stephan: if [[ -d $myfsl ]]; then b449884433 2011-09-09 stephan: echo "Copying to fossil tree [${myfsl}] ..." b449884433 2011-09-09 stephan: cp ${AMAL_FOSSIL_H} $myfsl/src/cson_amalgamation.h b449884433 2011-09-09 stephan: sed -e "s|${AMAL_FOSSIL_H}|cson_amalgamation.h|" \ b449884433 2011-09-09 stephan: ${AMAL_FOSSIL_C} > $myfsl/src/cson_amalgamation.c b449884433 2011-09-09 stephan: fi