[mapguide-commits] r9419 - in trunk/MgDev: . Oem/DWFTK/develop/global/src/dwfcore Oem/DWFTK/develop/global/src/dwfcore/x64 Oem/LinuxApt cmake/modules

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Fri Dec 7 05:12:24 PST 2018


Author: jng
Date: 2018-12-07 05:12:24 -0800 (Fri, 07 Dec 2018)
New Revision: 9419

Added:
   trunk/MgDev/cmake/modules/FindFDO.cmake
Modified:
   trunk/MgDev/CMakeLists.txt
   trunk/MgDev/Oem/DWFTK/develop/global/src/dwfcore/CMakeLists.txt
   trunk/MgDev/Oem/DWFTK/develop/global/src/dwfcore/Core.h
   trunk/MgDev/Oem/DWFTK/develop/global/src/dwfcore/x64/Core.cpp
   trunk/MgDev/Oem/LinuxApt/CMakeLists.txt
   trunk/MgDev/cmake_bootstrap.sh
   trunk/MgDev/cmake_build.sh
Log:
#2785: Fix Linux/CMake build:
 - Fix incorrect tomcat version referenced in Oem/LinuxApt/CMakeLists.txt
 - Refine DWF Toolkit #error message if the required atomic.h header could not be found
 - Tweak dwfcore/Core.h to also check for x64 built-ins when checking if _DWFCORE_X64_SYSTEM should be defined
 - Add FDO cmake module
 - Fix up cmake_bootstrap.sh and cmake_build.sh issues reported by shellcheck
 - Add ccache support to cmake_build.sh

Modified: trunk/MgDev/CMakeLists.txt
===================================================================
--- trunk/MgDev/CMakeLists.txt	2018-12-07 13:04:02 UTC (rev 9418)
+++ trunk/MgDev/CMakeLists.txt	2018-12-07 13:12:24 UTC (rev 9419)
@@ -143,7 +143,7 @@
         set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3")
         set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g3")
         message(STATUS "Adding standard compiler flags for debug")
-    endif (CMAKE_BUILD_TYPE MATCHES DEBUG)
+    endif (CMAKE_BUILD_TYPE MATCHES Debug)
 endif(CMAKE_COMPILER_IS_GNUCXX)
 
 if (USE_LD_GOLD)

Modified: trunk/MgDev/Oem/DWFTK/develop/global/src/dwfcore/CMakeLists.txt
===================================================================
--- trunk/MgDev/Oem/DWFTK/develop/global/src/dwfcore/CMakeLists.txt	2018-12-07 13:04:02 UTC (rev 9418)
+++ trunk/MgDev/Oem/DWFTK/develop/global/src/dwfcore/CMakeLists.txt	2018-12-07 13:12:24 UTC (rev 9419)
@@ -92,13 +92,14 @@
     zlib/compress.c
     zlib/crc32.c
     zlib/deflate.c
-    zlib/infblock.c
-    zlib/infcodes.c
+    zlib/gzclose.c
+    zlib/gzlib.c
+    zlib/gzread.c
+    zlib/gzwrite.c
+    zlib/infback.c
     zlib/inffast.c
     zlib/inflate.c
     zlib/inftrees.c
-    zlib/infutil.c
-    zlib/maketree.c
     zlib/trees.c
     zlib/uncompr.c
     zlib/zutil.c

Modified: trunk/MgDev/Oem/DWFTK/develop/global/src/dwfcore/Core.h
===================================================================
--- trunk/MgDev/Oem/DWFTK/develop/global/src/dwfcore/Core.h	2018-12-07 13:04:02 UTC (rev 9418)
+++ trunk/MgDev/Oem/DWFTK/develop/global/src/dwfcore/Core.h	2018-12-07 13:12:24 UTC (rev 9419)
@@ -54,7 +54,7 @@
 //
 #if     defined(__i386__) || defined(__i486__) || defined(__i586__) || defined(__i686) || defined(_M_IX86)
 #define _DWFCORE_X86_SYSTEM
-#elif   defined(_M_X64)
+#elif   defined(__amd64__) || defined(__x86_64__) || defined(_M_X64)
 #define _DWFCORE_X64_SYSTEM
 #elif   defined(_M_ALPHA)
 #define _DWFCORE_ALPHA_SYSTEM

Modified: trunk/MgDev/Oem/DWFTK/develop/global/src/dwfcore/x64/Core.cpp
===================================================================
--- trunk/MgDev/Oem/DWFTK/develop/global/src/dwfcore/x64/Core.cpp	2018-12-07 13:04:02 UTC (rev 9418)
+++ trunk/MgDev/Oem/DWFTK/develop/global/src/dwfcore/x64/Core.cpp	2018-12-07 13:12:24 UTC (rev 9419)
@@ -66,7 +66,7 @@
 				#elif   defined( HAVE_ALSA_IATOMIC_H )
 				#include <alsa/iatomic.h>
 				#else
-				#error  Missing header file - cannot continue
+				#error  Missing atomic header file containing definition of atomic_t - cannot continue
 				#endif
 
 

Modified: trunk/MgDev/Oem/LinuxApt/CMakeLists.txt
===================================================================
--- trunk/MgDev/Oem/LinuxApt/CMakeLists.txt	2018-12-07 13:04:02 UTC (rev 9418)
+++ trunk/MgDev/Oem/LinuxApt/CMakeLists.txt	2018-12-07 13:12:24 UTC (rev 9419)
@@ -12,7 +12,7 @@
     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/tomcat.conf DESTINATION ${MG_INSTALL_WEB_PREFIX}/apache2/conf/mapguide COMPONENT ${MG_COMPONENT})
 
     file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/tomcat)
-    execute_process(COMMAND tar -zxf ${CMAKE_CURRENT_SOURCE_DIR}/apache-tomcat-7.0.68.tar.gz -C ${CMAKE_CURRENT_BINARY_DIR}/tomcat --strip-components=1)
+    execute_process(COMMAND tar -zxf ${CMAKE_CURRENT_SOURCE_DIR}/apache-tomcat-7.0.82.tar.gz -C ${CMAKE_CURRENT_BINARY_DIR}/tomcat --strip-components=1)
 
     configure_file(${CMAKE_MODULE_PATH}/../configs/mapguide.xml.in ${CMAKE_CURRENT_BINARY_DIR}/tomcat/conf/Catalina/localhost/mapguide.xml)
     # Don't overwrite startup.sh in the CMAKE_CURRENT_BINARY_DIR as the subseqent install will do the same thing

Added: trunk/MgDev/cmake/modules/FindFDO.cmake
===================================================================
--- trunk/MgDev/cmake/modules/FindFDO.cmake	                        (rev 0)
+++ trunk/MgDev/cmake/modules/FindFDO.cmake	2018-12-07 13:12:24 UTC (rev 9419)
@@ -0,0 +1,42 @@
+# - Find the FDO dir, include and library dirs
+# If found, this module will define:
+#  FDO_INCLUDE_DIR - The FDO header directory
+#  FDO_LIBRARY - The path to the FDO library
+#  FDO_EXPRESSIONENGINE_LIBRARY - The path to the FDO expression engine library
+#  FDO_LIBRARY_DIR - The path to the FDO library directory
+#  FDO_NLS_DIR - The path to the FDO message catalogs
+
+# CMake base requires and policy tweaks
+cmake_minimum_required( VERSION 2.6.2 FATAL_ERROR )
+# CMP0005: keep escaping behaviour for definitions added via add_definitions()
+cmake_policy( SET CMP0005 OLD )
+
+set( FDO_DIR /usr/local/fdo-4.2.0 )
+set( FDO_VERSION 4.2.0 )
+
+if( FDO_INCLUDE_DIR AND FDO_LIBRARY_DIR)
+        set( FDO_FIND_QUIETLY TRUE )
+endif( FDO_INCLUDE_DIR AND FDO_LIBRARY_DIR )
+
+FIND_PATH( FDO_INCLUDE_DIR Fdo.h ${FDO_DIR}/include )
+FIND_LIBRARY( FDO_LIBRARY NAMES FDO PATHS ${FDO_DIR}/lib ${FDO_DIR}/lib64 )
+FIND_LIBRARY( FDO_EXPRESSIONENGINE_LIBRARY NAMES ExpressionEngine PATHS ${FDO_DIR}/lib ${FDO_DIR}/lib64 )
+FIND_PATH( FDO_LIBRARY_DIR libFDO.so ${FDO_DIR}/lib ${FDO_DIR}/lib64 )
+FIND_PATH( FDO_NLS_DIR FDOMessage.cat ${FDO_DIR}/nls )
+
+if( FDO_INCLUDE_DIR AND FDO_LIBRARY AND FDO_LIBRARY_DIR AND FDO_NLS_DIR )
+        set(FDO_FOUND TRUE)
+else( FDO_INCLUDE_DIR AND FDO_LIBRARY AND FDO_LIBRARY_DIR AND FDO_NLS_DIR )
+        set(FDO_FOUND FALSE)
+endif( FDO_INCLUDE_DIR AND FDO_LIBRARY AND FDO_LIBRARY_DIR AND FDO_NLS_DIR )
+
+if( FDO_FOUND )
+	if( NOT FDO_FIND_QUIETLY )
+    	message( STATUS "Found FDO: ${FDO_LIBRARY}" )
+  	endif( NOT FDO_FIND_QUIETLY )
+  	mark_as_advanced( FDO_INCLUDE_DIR FDO_LIBRARY FDO_LIBRARY_DIR FDO_NLS_DIR )
+else( FDO_FOUND )
+	if( FDO_FIND_REQUIRED )
+    	message(FATAL_ERROR "Could NOT find FDO")
+	endif (FDO_FIND_REQUIRED)
+endif (FDO_FOUND)

Modified: trunk/MgDev/cmake_bootstrap.sh
===================================================================
--- trunk/MgDev/cmake_bootstrap.sh	2018-12-07 13:04:02 UTC (rev 9418)
+++ trunk/MgDev/cmake_bootstrap.sh	2018-12-07 13:12:24 UTC (rev 9419)
@@ -1,13 +1,11 @@
 #!/bin/sh
 
 MG_INST_PREFIX=/usr/local/mapguideopensource-3.3.0
-CMAKE_BUILD_DIR=~/mapguide_build_area
 OEM_WORK_DIR=~/mapguide_oem_build
 BUILD_CPU=32
 BUILD_CONFIG=Release
-BUILD_DBXML=0
-BUILD_LINUXAPT=0
 HAVE_SYSTEM_XERCES=0
+USE_CCACHE=0
 while [ $# -gt 0 ]; do    # Until you run out of parameters...
     case "$1" in
         --prefix)
@@ -29,6 +27,9 @@
         --have-system-xerces)
             HAVE_SYSTEM_XERCES=1
             ;;
+        --with-ccache)
+            USE_CCACHE=1
+            ;;
         --help)
             echo "Usage: $0 (options)"
             echo "Options:"
@@ -44,7 +45,7 @@
     shift   # Check next set of parameters.
 done
 
-SOURCE_DIR=`pwd`
+SOURCE_DIR=$(pwd)
 
 check_build()
 {
@@ -52,7 +53,7 @@
     if [ $error -ne 0 ]; then
         echo "$LIB_NAME: Error build failed ($error)................."
         # Return back to this dir before bailing
-        cd $SOURCE_DIR
+        cd "$SOURCE_DIR" || exit
         exit $error
     fi
 }
@@ -72,10 +73,17 @@
 echo "Building in: $BUILD_CONFIG"
 echo "Using system xerces: $HAVE_SYSTEM_XERCES"
 echo "OEM Working Directory is: $OEM_WORK_DIR"
+echo "Using ccache: $USE_CCACHE"
 
+if [ "$USE_CCACHE" = "1" ]; then
+    export CC="ccache gcc"
+    export CXX="ccache g++"
+    ccache -s
+fi
+
 echo "Checking if OEM working dir exists"
-if [ ! -d $OEM_WORK_DIR ]; then
-    mkdir -p $OEM_WORK_DIR
+if [ ! -d "$OEM_WORK_DIR" ]; then
+    mkdir -p "$OEM_WORK_DIR"
     echo "Created OEM working dir at: $OEM_WORK_DIR"
 fi
 
@@ -105,24 +113,24 @@
 # (Re)build DBXML if any of the above is false
 if test $HAS_DBXML_HEADERS -eq 0 -o $HAS_DBCXX_LIB -eq 0 -o $HAS_DBXML_LIB -eq 0 -o $HAS_XQILLA_LIB -eq 0; then
     echo "Re-building DBXML (${BUILD_CONFIG})"
-    cp -Rf Oem/dbxml ${OEM_WORK_DIR}/dbxml
-    cd ${OEM_WORK_DIR}/dbxml
+    cp -Rf Oem/dbxml "${OEM_WORK_DIR}/dbxml"
+    cd "${OEM_WORK_DIR}/dbxml" || exit
     if test $HAVE_SYSTEM_XERCES -eq 1; then
         echo "Building DBXML with system-installed xerces. Please wait"
-        if test $BUILD_CONFIG == "Debug"; then
-            ./buildall.sh --enable-debug --with-xerces=/usr --have-system-xerces 2>&1 | tee $OEM_WORK_DIR/dbxml_build.log
+        if test "$BUILD_CONFIG" == Debug; then
+            ./buildall.sh --enable-debug --with-xerces=/usr --have-system-xerces 2>&1 | tee "$OEM_WORK_DIR/dbxml_build.log"
             check_build
         else
-            ./buildall.sh --with-xerces=/usr --have-system-xerces 2>&1 | tee $OEM_WORK_DIR/dbxml_build.log
+            ./buildall.sh --with-xerces=/usr --have-system-xerces 2>&1 | tee "$OEM_WORK_DIR/dbxml_build.log"
             check_build
         fi
     else
         echo "Building DBXML with internal copy of xerces. Please wait"
-        if test $BUILD_CONFIG == "Debug"; then
-            ./buildall.sh --enable-debug 2>&1 | tee $OEM_WORK_DIR/dbxml_build.log
+        if test "$BUILD_CONFIG" == Debug; then
+            ./buildall.sh --enable-debug 2>&1 | tee "$OEM_WORK_DIR/dbxml_build.log"
             check_build
         else
-            ./buildall.sh 2>&1 | tee $OEM_WORK_DIR/dbxml_build.log
+            ./buildall.sh 2>&1 | tee "$OEM_WORK_DIR/dbxml_build.log"
             check_build
         fi
     fi
@@ -138,28 +146,27 @@
 MG_INSTALL_WEB_PREFIX=$MG_INST_PREFIX/webserverextensions
 
 LA_WORKDIR=${OEM_WORK_DIR}/LinuxApt
-HTTPD_FAKE_INSTALL=${OEM_WORK_DIR}/HttpdFakeInstall
 HTTPD_WORKDIR=${LA_WORKDIR}/httpd-${HTTPD_VER}
 PHP_WORKDIR=${LA_WORKDIR}/php-${PHP_VER}
 TC_WORKDIR=${LA_WORKDIR}/tomcat-connectors-${TC_VER}-src
 
-if [ ! -d ${LA_WORKDIR} ]; then
-    mkdir -p $LA_WORKDIR
+if [ ! -d "${LA_WORKDIR}" ]; then
+    mkdir -p "$LA_WORKDIR"
 fi
 
 echo "Checking if we need to build httpd"
 HAS_HTTPD=0
-if [ -d ${HTTPD_WORKDIR} ]; then
+if [ -d "${HTTPD_WORKDIR}" ]; then
     HAS_HTTPD=1
 fi
 echo "Checking if we need to build php"
 HAS_PHP=0
-if [ -d ${PHP_WORKDIR} ]; then
+if [ -d "${PHP_WORKDIR}" ]; then
     HAS_PHP=1
 fi
 echo "Checking if we need to build tomcat connector"
 HAS_TOMCAT_CONNECTOR=0
-if [ -d ${TC_WORKDIR} ]; then
+if [ -d "${TC_WORKDIR}" ]; then
     HAS_TOMCAT_CONNECTOR=1
 fi
 echo "Has HTTPD: ${HAS_HTTPD}"
@@ -166,77 +173,83 @@
 echo "Has PHP: ${HAS_PHP}"
 echo "Has Tomcat Connector: ${HAS_TOMCAT_CONNECTOR}"
 if test $HAS_HTTPD -eq 0; then
-    cd $SOURCE_DIR/Oem/LinuxApt
+    cd "$SOURCE_DIR/Oem/LinuxApt" || exit
     echo "Extracting HTTPD tarballs"
-    tar -jxf httpd-${HTTPD_VER}.tar.bz2 -C ${LA_WORKDIR}
-    tar -jxf httpd-${HTTPD_VER}-deps.tar.bz2 -C ${LA_WORKDIR}
-    cd ${HTTPD_WORKDIR}
+    tar -jxf httpd-${HTTPD_VER}.tar.bz2 -C "${LA_WORKDIR}"
+    tar -jxf httpd-${HTTPD_VER}-deps.tar.bz2 -C "${LA_WORKDIR}"
+    cd "${HTTPD_WORKDIR}" || exit
     echo "Configuring HTTPD"
-    ./configure --prefix=${MG_INSTALL_WEB_PREFIX}/apache2 --enable-mods-shared-all --with-included-apr --with-port=${HTTPD_PORT} 2>&1 | tee $OEM_WORK_DIR/configure_httpd_fake.log
+    ./configure --prefix="${MG_INSTALL_WEB_PREFIX}/apache2" --enable-mods-shared-all --with-included-apr --with-port=${HTTPD_PORT} 2>&1 | tee "$OEM_WORK_DIR/configure_httpd_fake.log"
     check_build
     echo "Building HTTPD. Please wait"
-    make 2>&1 | tee $OEM_WORK_DIR/make_httpd_fake.log
+    make 2>&1 | tee "$OEM_WORK_DIR/make_httpd_fake.log"
     check_build
 fi
-cd ${HTTPD_WORKDIR}
+cd "${HTTPD_WORKDIR}" || exit
 echo "Installing HTTPD"
-make install 2>&1 | tee $OEM_WORK_DIR/make_install_httpd_fake.log
+make install 2>&1 | tee "$OEM_WORK_DIR/make_install_httpd_fake.log"
 check_build
-echo "Include conf/mapguide/*.conf" >> ${MG_INSTALL_WEB_PREFIX}/apache2/conf/httpd.conf
+echo "Include conf/mapguide/*.conf" >> "${MG_INSTALL_WEB_PREFIX}/apache2/conf/httpd.conf"
 # Activate mod_rewrite
-sed -i "s/#LoadModule rewrite_module modules\/mod_rewrite.so/LoadModule rewrite_module modules\/mod_rewrite.so/g" ${MG_INSTALL_WEB_PREFIX}/apache2/conf/httpd.conf
+sed -i "s/#LoadModule rewrite_module modules\/mod_rewrite.so/LoadModule rewrite_module modules\/mod_rewrite.so/g" "${MG_INSTALL_WEB_PREFIX}/apache2/conf/httpd.conf"
 # Make sure lib dirs are in envvars
-cat >> ${MG_INSTALL_WEB_PREFIX}/apache2/bin/envvars <<END-OF-ENVVARS
+cat >> "${MG_INSTALL_WEB_PREFIX}/apache2/bin/envvars" <<END-OF-ENVVARS
 export LD_LIBRARY_PATH=${MG_INSTALL_WEB_PREFIX}/lib:${MG_INSTALL_WEB_PREFIX}/php/lib:${MG_INST_PREFIX}/lib
 export MENTOR_DICTIONARY_PATH=${MG_INST_PREFIX}/share/gis/coordsys
 END-OF-ENVVARS
 
 if test $HAS_PHP -eq 0; then
-    cd $SOURCE_DIR/Oem/LinuxApt
+    cd "$SOURCE_DIR/Oem/LinuxApt" || exit
     echo "Extracting PHP tarball"
-    tar -jxf php-${PHP_VER}.tar.bz2 -C ${LA_WORKDIR}
-    cd ${PHP_WORKDIR}
+    tar -jxf php-${PHP_VER}.tar.bz2 -C "${LA_WORKDIR}"
+    cd "${PHP_WORKDIR}" || exit
     echo "Configuring PHP"
-    ./configure --prefix=${MG_INSTALL_WEB_PREFIX}/php --with-apxs2=${MG_INSTALL_WEB_PREFIX}/apache2/bin/apxs --with-openssl --with-curl --enable-xml --enable-wddx --enable-shared --with-zlib --enable-zip --enable-mbstring=all --with-xsl=/usr/lib --with-gd --with-png-dir=/usr/lib --with-jpeg-dir=/usr/lib --with-freetype-dir=/usr/lib 2>&1 | tee $OEM_WORK_DIR/configure_php.log
+    ./configure --prefix="${MG_INSTALL_WEB_PREFIX}/php" --with-apxs2="${MG_INSTALL_WEB_PREFIX}/apache2/bin/apxs" --with-openssl --with-curl --enable-xml --enable-wddx --enable-shared --with-zlib --enable-zip --enable-mbstring=all --with-xsl=/usr/lib --with-gd --with-png-dir=/usr/lib --with-jpeg-dir=/usr/lib --with-freetype-dir=/usr/lib 2>&1 | tee "$OEM_WORK_DIR/configure_php.log"
     check_build
     echo "Building PHP. Please wait"
-    make 2>&1 | tee $OEM_WORK_DIR/make_php.log
+    make 2>&1 | tee "$OEM_WORK_DIR/make_php.log"
     check_build
 fi
-cd ${PHP_WORKDIR}
+cd "${PHP_WORKDIR}" || exit
 echo "Installing PHP"
-make install 2>&1 | tee $OEM_WORK_DIR/make_install_php.log
+make install 2>&1 | tee "$OEM_WORK_DIR/make_install_php.log"
 check_build
 
 if test $HAS_TOMCAT_CONNECTOR -eq 0; then
-    cd $SOURCE_DIR/Oem/LinuxApt
+    cd "$SOURCE_DIR/Oem/LinuxApt" || exit
     echo "Extracting Tomcat Connector tarball"
-    tar -zxf tomcat-connectors-${TC_VER}-src.tar.gz -C ${LA_WORKDIR}
-    cd ${TC_WORKDIR}/native
+    tar -zxf tomcat-connectors-${TC_VER}-src.tar.gz -C "${LA_WORKDIR}"
+    cd "${TC_WORKDIR}/native" || exit
     echo "Configuring Tomcat Connector"
-    ./configure --with-apxs=${MG_INSTALL_WEB_PREFIX}/apache2/bin/apxs 2>&1 | tee $OEM_WORK_DIR/configure_tc.log
+    ./configure --with-apxs="${MG_INSTALL_WEB_PREFIX}/apache2/bin/apxs" 2>&1 | tee "$OEM_WORK_DIR/configure_tc.log"
     check_build
     echo "Building Tomcat Connector. Please wait"
-    make 2>&1 | tee $OEM_WORK_DIR/make_tc.log
+    make 2>&1 | tee "$OEM_WORK_DIR/make_tc.log"
     check_build
 fi
 echo "Installing Tomcat Connector"
-cd ${TC_WORKDIR}/native
-make install 2>&1 | tee $OEM_WORK_DIR/make_install_tc.log
+cd "${TC_WORKDIR}/native" || exit
+make install 2>&1 | tee "$OEM_WORK_DIR/make_install_tc.log"
 check_build
 
 # dump vars to setup script
-echo "#!/bin/sh" > $OEM_WORK_DIR/env_vars.sh
-echo "export MG_INST_PREFIX=$MG_INST_PREFIX" >> $OEM_WORK_DIR/env_vars.sh
-echo "export BUILD_CPU=$BUILD_CPU" >> $OEM_WORK_DIR/env_vars.sh
-echo "export BUILD_CONFIG=$BUILD_CONFIG" >> $OEM_WORK_DIR/env_vars.sh
-echo "export PHP_VER=$PHP_VER" >> $OEM_WORK_DIR/env_vars.sh
-echo "export HTTPD_VER=$HTTPD_VER" >> $OEM_WORK_DIR/env_vars.sh
-echo "export TC_VER=$TC_VER" >> $OEM_WORK_DIR/env_vars.sh
-echo "export HTTPD_PORT=$HTTPD_PORT" >> $OEM_WORK_DIR/env_vars.sh
-echo "export TOMCAT_PORT=$TOMCAT_PORT" >> $OEM_WORK_DIR/env_vars.sh
-echo "export HAVE_SYSTEM_XERCES=$HAVE_SYSTEM_XERCES" >> $OEM_WORK_DIR/env_vars.sh
-chmod +x $OEM_WORK_DIR/env_vars.sh
+{
+    echo "#!/bin/sh"
+    echo "export MG_INST_PREFIX=$MG_INST_PREFIX"
+    echo "export BUILD_CPU=$BUILD_CPU"
+    echo "export BUILD_CONFIG=$BUILD_CONFIG"
+    echo "export PHP_VER=$PHP_VER"
+    echo "export HTTPD_VER=$HTTPD_VER"
+    echo "export TC_VER=$TC_VER"
+    echo "export HTTPD_PORT=$HTTPD_PORT"
+    echo "export TOMCAT_PORT=$TOMCAT_PORT"
+    echo "export HAVE_SYSTEM_XERCES=$HAVE_SYSTEM_XERCES"
+} > "$OEM_WORK_DIR/env_vars.sh"
+chmod +x "$OEM_WORK_DIR/env_vars.sh"
 
+if [ "$USE_CCACHE" = "1" ]; then
+    ccache -s
+fi
+
 echo "$OEM_WORK_DIR/env_vars.sh written"
 echo "Make sure to run cmake_build.sh with --oem-working-dir set to: $OEM_WORK_DIR"
\ No newline at end of file

Modified: trunk/MgDev/cmake_build.sh
===================================================================
--- trunk/MgDev/cmake_build.sh	2018-12-07 13:04:02 UTC (rev 9418)
+++ trunk/MgDev/cmake_build.sh	2018-12-07 13:12:24 UTC (rev 9419)
@@ -2,11 +2,6 @@
 
 CMAKE_BUILD_DIR=~/mapguide_build_area
 OEM_WORK_DIR=~/mapguide_oem_build
-#BUILD_CPU=32
-#BUILD_CONFIG=Release
-BUILD_DBXML=0
-BUILD_LINUXAPT=0
-#HAVE_SYSTEM_XERCES=0
 USE_NINJA=0
 USE_ASAN=OFF
 USE_LD_GOLD=OFF
@@ -44,7 +39,7 @@
     shift   # Check next set of parameters.
 done
 
-SOURCE_DIR=`pwd`
+SOURCE_DIR=$(pwd)
 
 check_build()
 {
@@ -52,18 +47,18 @@
     if [ $error -ne 0 ]; then
         echo "$LIB_NAME: Error build failed ($error)................."
         # Return back to this dir before bailing
-        cd $SOURCE_DIR
+        cd "$SOURCE_DIR" || exit
         exit $error
     fi
 }
 
-if [ ! -f $OEM_WORK_DIR/env_vars.sh ]; then
+if [ ! -f "$OEM_WORK_DIR/env_vars.sh" ]; then
     echo "ERROR: Could not find env_vars.sh in $OEM_WORK_DIR"
     echo "       This file should exist if you ran cmake_bootstrap.sh with (--oem_working_dir $OEM_WORK_DIR)"
     exit 1;
 fi
 
-source $OEM_WORK_DIR/env_vars.sh
+. "$OEM_WORK_DIR/env_vars.sh"
 
 # Validate
 if test "$BUILD_CPU" != "32" -a "$BUILD_CPU" != "64"; then
@@ -80,11 +75,12 @@
 echo "Building for: $BUILD_CPU-bit"
 echo "Building in: $BUILD_CONFIG"
 echo "Using Ninja build: $USE_NINJA"
+echo "Using ld.gold: $USE_LD_GOLD"
 echo "CMake build directory is: $CMAKE_BUILD_DIR" 
 echo "OEM Working Directory is: $OEM_WORK_DIR"
 
 echo "Creating CMake build directory"
-mkdir -p $CMAKE_BUILD_DIR
+mkdir -p "$CMAKE_BUILD_DIR"
 
 INTERNAL_XERCES=TRUE
 if test $HAVE_SYSTEM_XERCES -eq 1; then
@@ -93,14 +89,14 @@
 
 # Now for the main event
 echo "Setting up CMake in: $CMAKE_BUILD_DIR"
-cd $CMAKE_BUILD_DIR
+cd "$CMAKE_BUILD_DIR" || exit
 if test $USE_NINJA -eq 1; then
-    cmake -G Ninja $SOURCE_DIR -DMG_CPU=$BUILD_CPU -DWITH_JAVA=TRUE -DINTERNAL_XERCES=$INTERNAL_XERCES -DSANITIZE_ADDRESS=$USE_ASAN -DPHP_VER=${PHP_VER} -DHTTPD_VER=${HTTPD_VER} -DCMAKE_BUILD_TYPE=$BUILD_CONFIG -DMG_OEM_WORK_DIR=$OEM_WORK_DIR
+    cmake -G Ninja "$SOURCE_DIR" -DMG_CPU="$BUILD_CPU" -DWITH_JAVA=TRUE -DUSE_LD_GOLD="$USE_LD_GOLD" -DINTERNAL_XERCES=$INTERNAL_XERCES -DSANITIZE_ADDRESS=$USE_ASAN -DPHP_VER="$PHP_VER" -DHTTPD_VER="$HTTPD_VER" -DCMAKE_BUILD_TYPE="$BUILD_CONFIG" -DMG_OEM_WORK_DIR="$OEM_WORK_DIR"
     check_build
     ninja
     check_build
 else
-    cmake $SOURCE_DIR -DMG_CPU=$BUILD_CPU -DWITH_JAVA=TRUE -DINTERNAL_XERCES=$INTERNAL_XERCES -DSANITIZE_ADDRESS=$USE_ASAN -DPHP_VER=${PHP_VER} -DHTTPD_VER=${HTTPD_VER} -DCMAKE_BUILD_TYPE=$BUILD_CONFIG -DMG_OEM_WORK_DIR=$OEM_WORK_DIR
+    cmake "$SOURCE_DIR" -DMG_CPU="$BUILD_CPU" -DWITH_JAVA=TRUE -DUSE_LD_GOLD="$USE_LD_GOLD" -DINTERNAL_XERCES=$INTERNAL_XERCES -DSANITIZE_ADDRESS=$USE_ASAN -DPHP_VER="$PHP_VER" -DHTTPD_VER="$HTTPD_VER" -DCMAKE_BUILD_TYPE="$BUILD_CONFIG" -DMG_OEM_WORK_DIR="$OEM_WORK_DIR"
     check_build
     make
     check_build



More information about the mapguide-commits mailing list