- added experimental lunix32 cross compile support
This commit is contained in:
parent
5e5f22e7ab
commit
f72b7046e5
20
build-mg.sh
20
build-mg.sh
|
@ -19,8 +19,9 @@ MAKE_ONLY=0
|
|||
CLANG_FORCED=0
|
||||
WANT_STATIC_LIBS="-DWANT_STATIC_LIBS=ON"
|
||||
LUA_FORCED_VERSION=0
|
||||
FORCE_32BIT_CROSS_COMPILE=0
|
||||
|
||||
while getopts "c:dfhl:mn" option; do
|
||||
while getopts "c:dfhl:mnx" option; do
|
||||
case "${option}" in
|
||||
c)
|
||||
CPU_COUNT=${OPTARG}
|
||||
|
@ -36,7 +37,7 @@ while getopts "c:dfhl:mn" option; do
|
|||
;;
|
||||
h)
|
||||
echo "Usage: $0 <option>"
|
||||
echo " where <option> can be: -c x, -d, -f, -m, -n, -h, -l x"
|
||||
echo " where <option> can be: -c x, -d, -f, -m, -n, -h, -l x, -x"
|
||||
echo " option descriptions:"
|
||||
echo " -c x : Force the cpu / cores count to x - example: -c 4"
|
||||
echo " -d : Force DYNAMIC compile (do not want static libs)"
|
||||
|
@ -44,6 +45,8 @@ while getopts "c:dfhl:mn" option; do
|
|||
echo " -l x : Force using LUA version x - example: -l 51"
|
||||
echo " -m : Force running CMAKE only to create Make files (do not compile)"
|
||||
echo " -n : Force running MAKE only to compile (assume CMAKE already built make files)"
|
||||
echo " -x : Force cross compiling on x64 linux to produce an x86 32 bit binary"
|
||||
|
||||
echo " -h : Display this help usage"
|
||||
|
||||
exit 1
|
||||
|
@ -60,6 +63,11 @@ while getopts "c:dfhl:mn" option; do
|
|||
MAKE_ONLY=1
|
||||
# echo "${option} value: ${OPTARG}"
|
||||
;;
|
||||
x)
|
||||
FORCE_32BIT_CROSS_COMPILE=1
|
||||
# echo "${option} value: ${OPTARG}"
|
||||
;;
|
||||
|
||||
\?)
|
||||
echo "Script Invalid option: -$OPTARG" >&2
|
||||
exit 1
|
||||
|
@ -191,6 +199,14 @@ if [ $LUA_FORCED_VERSION != 0 ]; then
|
|||
fi
|
||||
fi
|
||||
|
||||
if [ $FORCE_32BIT_CROSS_COMPILE != 0 ]; then
|
||||
EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DCMAKE_TOOLCHAIN_FILE=../mk/cmake/Modules/Toolchain-linux32.cmake"
|
||||
|
||||
#LIBDIR_32bit='/usr/lib32/'
|
||||
#export LD_LIBRARY_PATH="${LIBDIR_32bit}:${LD_LIBRARY_PATH}"
|
||||
|
||||
fi
|
||||
|
||||
if [ $MAKE_ONLY = 0 ]; then
|
||||
echo "Calling cmake with EXTRA_CMAKE_OPTIONS = ${EXTRA_CMAKE_OPTIONS}"
|
||||
cmake -DCMAKE_INSTALL_PREFIX='' -DWANT_DEV_OUTPATH=ON $WANT_STATIC_LIBS -DBUILD_MEGAGLEST_TESTS=ON -DBREAKPAD_ROOT=$BREAKPAD_ROOT $EXTRA_CMAKE_OPTIONS ..
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
# Target operating system and architecture
|
||||
set( CMAKE_SYSTEM_NAME Linux )
|
||||
set( CMAKE_SYSTEM_PROCESSOR x86 )
|
||||
|
||||
# C/C++ compilers
|
||||
#set( CMAKE_C_COMPILER gcc -m32 )
|
||||
#set( CMAKE_CXX_COMPILER g++ -m32 )
|
||||
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32" )
|
||||
SET( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32" )
|
||||
|
||||
#set( CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS} -m32)
|
||||
#set( CMAKE_MODULE_LINKER_FLAGS ${CMAKE_MODULE_LINKER_FLAGS} -m32)
|
||||
#set( CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS} -m32)
|
||||
|
||||
# Only look for libraries in lib32
|
||||
set( CMAKE_SYSTEM_LIBRARY_PATH /lib32 /usr/lib32 /usr/local/lib32 )
|
||||
set_property( GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS OFF )
|
||||
set( CMAKE_IGNORE_PATH /lib /usr/lib /usr/local/lib )
|
||||
|
||||
#set(CMAKE_FIND_ROOT_PATH /usr/lib32)
|
||||
#set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
#set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
#set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
Loading…
Reference in New Issue