Subversion Repositories DevTools

Rev

Rev 1473 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1473 Rev 1475
Line 55... Line 55...
55
        -Platform)              PLATFORM=$val;;
55
        -Platform)              PLATFORM=$val;;
56
        -Type)                  TYPE=$val;;
56
        -Type)                  TYPE=$val;;
57
        -Arch)                  ARCH=$val;;
57
        -Arch)                  ARCH=$val;;
58
        -MachType)              MACHTYPE=$val;;
58
        -MachType)              MACHTYPE=$val;;
59
        -BuildRoot)             BUILD_ROOT=$val;;
59
        -BuildRoot)             BUILD_ROOT=$val;;
-
 
60
        -InterfaceDir)          INTERFACE_DIR=$val;;
-
 
61
        -LocalDir)              LOCAL_DIR=$val;;
60
        -BinDir)                BIN_DIR=$val;;
62
        -BinDir)                BIN_DIR=$val;;
61
        -LibDir)                LIB_DIR=$val;;
63
        -LibDir)                LIB_DIR=$val;;
62
        -ObjDir)                OBJ_DIR=$val;;
64
        -ObjDir)                OBJ_DIR=$val;;
63
        -PackageBinDir)         PKG_BIN_DIR=$val;;
65
        -PackageBinDir)         PKG_BIN_DIR=$val;;
64
        -PackageIncDir)         PKG_INC_DIR=$val;;
66
        -PackageIncDir)         PKG_INC_DIR=$val;;
Line 68... Line 70...
68
        -PackageToolBin)        PKG_TOOL_BIN_DIR=$val;;
70
        -PackageToolBin)        PKG_TOOL_BIN_DIR=$val;;
69
        -PackageToolScript)     PKG_TOOL_SCRIPT_DIR=$val;;
71
        -PackageToolScript)     PKG_TOOL_SCRIPT_DIR=$val;;
70
        -PackageDir)            PKG_DIR=$val;;
72
        -PackageDir)            PKG_DIR=$val;;
71
        -CompilerPath)          COMPILER_DIR="$val";;
73
        -CompilerPath)          COMPILER_DIR="$val";;
72
        -DownloadPkg)           DOWNLOAD_PKG="$val";;
74
        -DownloadPkg)           DOWNLOAD_PKG="$val";;
73
        -DebianPackage)         DEBIAN_PACKAGE=1;;
75
        -DebianPackage)         DEBIAN_PACKAGE=$val;;
74
        -ApplyPatches)          APPLY_PATCHES=1;;
76
        -ApplyPatches)          APPLY_PATCHES=1;;
75
        -ApplyMods)             APPLY_MODS=1;;
77
        -ApplyMods)             APPLY_MODS=1;;
76
        -ConfigVarient)         CONFIG_VARIENT=$val;;
78
        -ConfigVarient)         CONFIG_VARIENT=$val;;
77
        *)                      echo "Unknown tag: $tag=$val"
79
        *)                      echo "Unknown tag: $tag=$val"
78
    esac
80
    esac
Line 99... Line 101...
99
echo " Platform       = ${PLATFORM}"
101
echo " Platform       = ${PLATFORM}"
100
echo " Type           = ${TYPE}"
102
echo " Type           = ${TYPE}"
101
echo " Arch           = ${ARCH}"
103
echo " Arch           = ${ARCH}"
102
echo " MachType       = ${MACHTYPE}"
104
echo " MachType       = ${MACHTYPE}"
103
echo " BuildRoot      = ${BUILD_ROOT}"
105
echo " BuildRoot      = ${BUILD_ROOT}"
-
 
106
#echo " InterfaceDir   = ${INTERFACE_DIR}"
-
 
107
#echo " LocalDir       = ${LOCAL_DIR}"
104
if [ ${DOWNLOAD_PKG} ]; then
108
if [ ${DOWNLOAD_PKG} ]; then
105
    echo " DownloadPkg    = ${DOWNLOAD_PKG}"
109
    echo " DownloadPkg    = ${DOWNLOAD_PKG}"
106
fi    
110
fi    
107
echo " BinDir         = ${BIN_DIR}"
111
echo " BinDir         = ${BIN_DIR}"
108
echo " LibDir         = ${LIB_DIR}"
112
echo " LibDir         = ${LIB_DIR}"
109
echo " ObjDir         = ${OBJ_DIR}"
113
echo " ObjDir         = ${OBJ_DIR}"
-
 
114
echo " PkgDir         = ${PKG_DIR}"
110
echo " PackageBinDir  = ${PKG_BIN_DIR}"
115
echo " PackageBinDir  = ${PKG_BIN_DIR}"
111
echo " PackageIncDir  = ${PKG_INC_DIR}"
116
echo " PackageIncDir  = ${PKG_INC_DIR}"
112
echo " PackageLibDir  = ${PKG_LIB_DIR}"
117
echo " PackageLibDir  = ${PKG_LIB_DIR}"
113
echo " PackagePkgDir  = ${PKG_PKG_DIR}"
118
echo " PackagePkgDir  = ${PKG_PKG_DIR}"
114
echo " CompilerDir    = ${COMPILER_DIR}"
119
echo " CompilerDir    = ${COMPILER_DIR}"
115
echo "================================================================================"
120
echo "================================================================================"
116
echo
121
echo
117
echo
122
echo
118
 
123
 
119
 
124
 
120
 
-
 
121
 
-
 
122
#------------------------------------------------------------------------------
125
#------------------------------------------------------------------------------
123
# Determine host and build environments
126
# Determine host and build environments
124
#------------------------------------------------------------------------------
127
#------------------------------------------------------------------------------
125
case ${MACHTYPE} in
128
case ${MACHTYPE} in
126
    linux_i386)  
129
    linux_i386)  
Line 172... Line 175...
172
# Determine the location of the generated files
175
# Determine the location of the generated files
173
CWD=`pwd`
176
CWD=`pwd`
174
BIN_DIR=`cleanup_dir ${CWD}/${BIN_DIR}`
177
BIN_DIR=`cleanup_dir ${CWD}/${BIN_DIR}`
175
LIB_DIR=`cleanup_dir ${CWD}/${LIB_DIR}`
178
LIB_DIR=`cleanup_dir ${CWD}/${LIB_DIR}`
176
OBJ_DIR=`cleanup_dir ${CWD}/${OBJ_DIR}`
179
OBJ_DIR=`cleanup_dir ${CWD}/${OBJ_DIR}`
-
 
180
PKG_DIR=`cleanup_dir ${CWD}/${PKG_DIR}`
177
PKG_BIN_DIR=`cleanup_dir ${CWD}/${PKG_BIN_DIR}`
181
PKG_BIN_DIR=`cleanup_dir ${CWD}/${PKG_BIN_DIR}`
178
PKG_INC_DIR=`cleanup_dir ${CWD}/${PKG_INC_DIR}`
182
PKG_INC_DIR=`cleanup_dir ${CWD}/${PKG_INC_DIR}`
179
PKG_LIB_DIR=`cleanup_dir ${CWD}/${PKG_LIB_DIR}`
183
PKG_LIB_DIR=`cleanup_dir ${CWD}/${PKG_LIB_DIR}`
180
PKG_PKG_DIR=`cleanup_dir ${CWD}/${PKG_PKG_DIR}`
184
PKG_PKG_DIR=`cleanup_dir ${CWD}/${PKG_PKG_DIR}`
181
 
185
 
182
PKG_TOOL_DIR=`cleanup_dir ${CWD}/${PKG_TOOL_DIR}`
186
PKG_TOOL_DIR=`cleanup_dir ${CWD}/${PKG_TOOL_DIR}`
183
PKG_TOOL_BIN_DIR=`cleanup_dir ${CWD}/${PKG_TOOL_BIN_DIR}`
187
PKG_TOOL_BIN_DIR=`cleanup_dir ${CWD}/${PKG_TOOL_BIN_DIR}`
184
PKG_TOOL_SCRIPT_DIR=`cleanup_dir ${CWD}/${PKG_TOOL_SCRIPT_DIR}`
188
PKG_TOOL_SCRIPT_DIR=`cleanup_dir ${CWD}/${PKG_TOOL_SCRIPT_DIR}`
185
 
189
 
186
BASE_DIR=`cleanup_dir ${CWD}/${BUILD_ROOT}`
190
BASE_DIR=`cleanup_dir ${CWD}/${BUILD_ROOT}`
-
 
191
INTERFACE_DIR=`cleanup_dir ${CWD}/${INTERFACE_DIR}`
-
 
192
LOCAL_DIR=`cleanup_dir ${CWD}/${LOCAL_DIR}`
187
LCL_SRC_DIR=${BASE_DIR}/src
193
LCL_SRC_DIR=${BASE_DIR}/src
188
SHARE_SRC_DIR=${LCL_SRC_DIR}
194
SHARE_SRC_DIR=${LCL_SRC_DIR}
189
SHARE_BASE_DIR=${BASE_DIR}
195
SHARE_BASE_DIR=${BASE_DIR}
190
 
196
 
191
DEB_PKG_DIR=${LIB_DIR}
197
DEB_PKG_DIR=${LIB_DIR}
192
AFC_DIR=${DEB_PKG_DIR}/afc
198
AFC_DIR=${DEB_PKG_DIR}/afc
193
AFC_BIN_DIR=${AFC_DIR}/bin
199
AFC_BIN_DIR=${AFC_DIR}/bin
194
AFC_LIB_DIR=${AFC_DIR}/lib
200
AFC_LIB_DIR=${AFC_DIR}/lib
195
AFC_SHARE_DIR=${AFC_DIR}/share
201
AFC_SHARE_DIR=${AFC_DIR}/share
196
 
202
 
-
 
203
DEB_DIR=`cleanup_dir ${CWD}/${DEBIAN_PACKAGE}`
197
 
204
 
198
# Find the launch script
205
# Find the launch script
199
LAUNCH_SCRIPT=`cleanup_dir ${LCL_SRC_DIR}/${SHELL_BUILD}`
206
LAUNCH_SCRIPT=`cleanup_dir ${LCL_SRC_DIR}/${SHELL_BUILD}`
200
 
207
 
201
if [ ! -f ${LAUNCH_SCRIPT} ]; then
208
if [ ! -f ${LAUNCH_SCRIPT} ]; then
Line 244... Line 251...
244
    WORK_DIR=${LCL_SRC_DIR}/${DOWNLOAD_PKG}
251
    WORK_DIR=${LCL_SRC_DIR}/${DOWNLOAD_PKG}
245
else
252
else
246
    WORK_DIR=${LCL_SRC_DIR}/work
253
    WORK_DIR=${LCL_SRC_DIR}/work
247
fi
254
fi
248
 
255
 
-
 
256
#
-
 
257
#   Extend compiler and linker search paths to access data within
-
 
258
#   packages imported via BuildPkgArchive
-
 
259
#
-
 
260
#   Include the packageing directory - its used for builds that
-
 
261
#   build multiple packages.
-
 
262
#
-
 
263
#   Only include paths that exist
-
 
264
#
-
 
265
INCLUDE=
-
 
266
LIBPATH=
-
 
267
 
-
 
268
DJOIN=""
-
 
269
DLIST="
-
 
270
${PKG_INC_DIR}
-
 
271
${LOCAL_DIR}/inc
-
 
272
${INTERFACE_DIR}/include/${PLATFORM}
-
 
273
${INTERFACE_DIR}/include
-
 
274
"
-
 
275
for dtest in ${DLIST} ; do
-
 
276
    if [ -d $dtest ] ; then
-
 
277
        INCLUDE="${INCLUDE}${DJOIN}-I$dtest"
-
 
278
        DJOIN=" "
-
 
279
    fi
-
 
280
done
249
 
281
 
-
 
282
DJOIN=""
-
 
283
DLIST="
-
 
284
${PKG_LIB_DIR}
250
INCLUDE="-I${PKG_INC_DIR} -I${BASE_DIR}/local/include -I${BASE_DIR}/interface/include"
285
${LOCAL_DIR}/lib/${PLATFORM}
251
LIBPATH="-L${PKG_LIB_DIR} -L${BASE_DIR}/local/lib/${PLATFORM} -L${BASE_DIR}/interface/lib/${PLATFORM}"
286
${INTERFACE_DIR}/lib/${PLATFORM}
252
 
287
"
-
 
288
for dtest in ${DLIST} ; do
-
 
289
    if [ -d $dtest ] ; then
-
 
290
        LIBPATH="${LIBPATH}${DJOIN}-L$dtest"
-
 
291
        DJOIN=" "
-
 
292
    fi
-
 
293
done
253
 
294
 
254
# Dump configuration
295
# Dump configuration
255
echo "================================================================================"
296
echo "================================================================================"
256
echo "   BUILD CONFIGURATION"
297
echo "   BUILD CONFIGURATION"
257
echo "================================================================================"
298
echo "================================================================================"
Line 264... Line 305...
264
if [ ${DOWNLOAD_PKG} ]; then
305
if [ ${DOWNLOAD_PKG} ]; then
265
    echo " Tarball File   = ${TARBALL_FILE}"
306
    echo " Tarball File   = ${TARBALL_FILE}"
266
    echo " Working Dir    = ${WORK_DIR}"
307
    echo " Working Dir    = ${WORK_DIR}"
267
fi  
308
fi  
268
unset AFTER_FIRST
309
unset AFTER_FIRST
269
for INC in ${INCLDUE}; do
310
for INC in ${INCLUDE}; do
270
    if [ ${AFTER_FIRST} ]; then
311
    if [ ${AFTER_FIRST} ]; then
271
        echo "                  ${INC}"
312
        echo "                  ${INC}"
272
    else
313
    else
273
        echo " Includes       = ${INC}"
314
        echo " Includes       = ${INC}"
274
        AFTER_FIRST=1
315
        AFTER_FIRST=1
Line 306... Line 347...
306
unset MAKE
347
unset MAKE
307
unset MAKEFLAGS
348
unset MAKEFLAGS
308
unset MAKEOVERRIDES
349
unset MAKEOVERRIDES
309
unset MAKELEVEL
350
unset MAKELEVEL
310
export CFLAGS="${CFLAGS} ${INCLUDE}"
351
export CFLAGS="${CFLAGS} ${INCLUDE}"
-
 
352
export CXXFLAGS="${CXXFLAGS} ${INCLUDE}"
311
export CCFLAGS="${CCFLAGS} ${INCLUDE}"
353
export CCFLAGS="${CCFLAGS} ${INCLUDE}"
312
export LDFLAGS="${LDFLAGS} ${LIBPATH}"
354
export LDFLAGS="${LDFLAGS} ${LIBPATH}"
313
 
355
 
314
if [ ${XGCC_IN_PATH} ]; then
356
if [ ${XGCC_IN_PATH} ]; then
315
    export PATH="${XGCC_DIR}/bin:${PATH}"
357
    export PATH="${XGCC_DIR}/bin:${PATH}"
316
else
358
else
317
    export PATH="${XGCC_BASE_DIR}/bin:${PATH}"
359
    export PATH="${XGCC_BASE_DIR}/bin:${PATH}"
318
fi
360
fi
319
 
361
 
-
 
362
 
-
 
363
#
-
 
364
#   Clean up request
-
 
365
#   No building - just a clean of previous builds
-
 
366
#
320
if [ ${CLEAN} ]; then
367
if [ ${CLEAN} ]; then
321
    if [ ${DOWNLOAD_PKG} ]; then
368
    if [ ${DOWNLOAD_PKG} ]; then
322
        echo " --> Cleaning generated files"
369
        echo " --> Cleaning generated files"
323
        cd ${BASE_DIR}
370
        cd ${BASE_DIR}
324
        rm -fr ${WORK_DIR}
371
        rm -fr ${WORK_DIR}
Line 326... Line 373...
326
    
373
    
327
    echo " --> Deleting binary, object, and library directories"
374
    echo " --> Deleting binary, object, and library directories"
328
    rm -fr ${BIN_DIR}
375
    rm -fr ${BIN_DIR}
329
    rm -fr ${LIB_DIR}
376
    rm -fr ${LIB_DIR}
330
    rm -fr ${OBJ_DIR}
377
    rm -fr ${OBJ_DIR}
-
 
378
 
-
 
379
    if [ ${DEBIAN_PACKAGE} ]; then
-
 
380
        echo " --> Deleting Debian Build Files "
-
 
381
        rm -fr ${DEB_DIR}
-
 
382
    fi
331
    
383
    
332
    exit 0
384
    exit 0
333
fi
385
fi
334
 
386
 
335
 
387
 
Line 386... Line 438...
386
            cp -fr ${ERG_CONFIG} .config
438
            cp -fr ${ERG_CONFIG} .config
387
        fi
439
        fi
388
    fi
440
    fi
389
 
441
 
390
    cd ${WORK_DIR}
442
    cd ${WORK_DIR}
391
fi    
-
 
392
 
443
fi
393
 
444
 
-
 
445
#
-
 
446
#   Source the users script
-
 
447
#   This is processed in the context of this script
-
 
448
#
394
source ${LAUNCH_SCRIPT}
449
source ${LAUNCH_SCRIPT}
395
 
450
 
396
 
451
 
397
if [ ${DEBIAN_PACKAGE} ]; then 
452
if [ ${DEBIAN_PACKAGE} ]; then 
398
    echo " --> Creating Debian packaging scripts"
453
    echo " --> Creating Debian packaging scripts"
Line 404... Line 459...
404
    done
459
    done
405
    if [ ${TOOL_DIR} ]; then
460
    if [ ${TOOL_DIR} ]; then
406
        DEBBUILD_PL=${TOOL_DIR}/debbuild.pl
461
        DEBBUILD_PL=${TOOL_DIR}/debbuild.pl
407
        echo "      - Found ${DEBBUILD_PL}"
462
        echo "      - Found ${DEBBUILD_PL}"
408
 
463
 
409
        DEB_DIR=${LCL_SRC_DIR}/.deb
-
 
410
        rm -fr ${DEB_DIR}
464
        rm -fr ${DEB_DIR}
411
        mkdir -p ${DEB_DIR}
465
        mkdir -p ${DEB_DIR}
-
 
466
 
412
        
467
        # Replace TAGS in the debbuild.pl file
413
        DEB_DESC="${BUILD_NAME} ${BUILD_VERSION} for ${PLATFORM}"
468
        DEB_DESC="${BUILD_NAME} ${BUILD_VERSION} for ${PLATFORM}"
414
        cat ${DEBBUILD_PL} | sed "s|Unknown Debian Package Description|${DEB_DESC}|" > ${DEB_DIR}/debbuild.pl
469
        cat ${DEBBUILD_PL} | sed "-es|TAG_DESCRIPTION|${DEB_DESC}|" "-es|TAG_POSTINSTALL|${DEB_DIR}/postinstall|" > ${DEB_DIR}/debbuild.pl
415
        cp ${TOOL_DIR}/postinstall ${DEB_DIR}/postinstall
470
        cp ${TOOL_DIR}/postinstall ${DEB_DIR}/postinstall
416
    else
471
    else
417
        echo "ERROR: Cannot find debbuild.pl in the PATH"
472
        echo "ERROR: Cannot find debbuild.pl in the PATH"
418
        exit 1
473
        exit 1
419
    fi
474
    fi