306
306
307
307
if [ ! -z " $CFG_LLVM_ROOT " -a -e " $CFG_LLVM_ROOT /bin/llvm-config" ]
308
308
then
309
- CFG_LLVM_CONFIG=" $CFG_LLVM_ROOT /bin/llvm-config"
310
- fi
311
-
312
- if [ ! -z " $CFG_LLVM_ROOT " -a -z " $CFG_LLVM_CONFIG " ]
313
- then
314
- CFG_LLVM_INCDIR=" $CFG_LLVM_ROOT /include"
315
- CFG_LLVM_BINDIR=" $CFG_LLVM_ROOT /bin"
316
- CFG_LLVM_LIBDIR=" $CFG_LLVM_ROOT /lib"
317
- CFG_LLVM_CXXFLAGS=" -I$CFG_LLVM_INCDIR "
318
- CFG_LLVM_LDFLAGS=" "
319
- CFG_LLVM_LIBS=$( find " $CFG_LLVM_LIBDIR " \
320
- -name ' *.lib' \
321
- -exec echo ' \"{}\"' ' ;' \
322
- | xargs echo)
323
- CFG_LLVM_VERSION=$( " $CFG_LLVM_BINDIR /llc" \
324
- --version \
325
- | grep version \
326
- | cut -d ' ' -f 5-)
327
- CFG_LLVM_TRIPLE=$( " $CFG_LLVM_BINDIR /llc" \
328
- --version \
329
- | grep Host: \
330
- | cut -d ' ' -f 4-)
331
- elif [ ! -z " $CFG_LLVM_CONFIG " ]
332
- then
333
- CFG_LLVM_VERSION=$( $CFG_LLVM_CONFIG --version)
334
- CFG_LLVM_INCDIR=$( $CFG_LLVM_CONFIG --includedir)
335
- CFG_LLVM_BINDIR=$( $CFG_LLVM_CONFIG --bindir)
336
- CFG_LLVM_LIBDIR=$( $CFG_LLVM_CONFIG --libdir)
337
- CFG_LLVM_CXXFLAGS=$( $CFG_LLVM_CONFIG --cxxflags)
338
- CFG_LLVM_LDFLAGS=$( $CFG_LLVM_CONFIG --ldflags)
339
- CFG_LLVM_LIBS=$( $CFG_LLVM_CONFIG --libs)
340
- CFG_LLVM_TRIPLE=$( $CFG_LLVM_CONFIG --host-target)
341
- else
342
- err " no llvm-config found and no --llvm-root specified"
309
+ step_msg " using custom LLVM"
310
+
311
+ LLVM_CONFIG=" $CFG_LLVM_ROOT /bin/llvm-config"
312
+ LLVM_VERSION=$( $CFG_LLVM_CONFIG --version)
313
+
314
+ case $LLVM_VERSION in
315
+ (3.0svn | 3.0 | 3.1svn)
316
+ step_msg " found ok version of LLVM: $CFG_LLVM_VERSION "
317
+ ;;
318
+ (* )
319
+ err " bad LLVM version: $CFG_LLVM_VERSION , need >=3.0svn"
320
+ ;;
321
+ esac
343
322
fi
344
323
345
- case $CFG_LLVM_VERSION in
346
- (3.0svn | 3.0 | 3.1svn)
347
- step_msg " found ok version of LLVM: $CFG_LLVM_VERSION "
348
- ;;
349
- (* )
350
- err " bad LLVM version: $CFG_LLVM_VERSION , need >=3.0svn"
351
- ;;
352
- esac
353
-
354
324
if [ ! -z " $CFG_ENABLE_CLANG " ]
355
325
then
356
326
if [ -z " $CFG_CLANG " ]
@@ -381,18 +351,6 @@ then
381
351
CFG_PREFIX=/usr/local
382
352
fi
383
353
384
- if [ ! -z " $CFG_LLVM_TRIPLE " ]
385
- then
386
- if [ $CFG_HOST_TRIPLE != $CFG_LLVM_TRIPLE ]
387
- then
388
- warn " LLVM host-triple $CFG_LLVM_TRIPLE differs from"
389
- warn " detected host triple $CFG_HOST_TRIPLE "
390
- warn " choosing LLVM host-triple instead"
391
- msg " "
392
- CFG_HOST_TRIPLE=$CFG_LLVM_TRIPLE
393
- fi
394
- fi
395
-
396
354
if [ -z " $CFG_TARGET_TRIPLES " ]
397
355
then
398
356
CFG_TARGET_TRIPLES=" ${CFG_HOST_TRIPLE} "
@@ -405,14 +363,6 @@ putvar CFG_C_COMPILER
405
363
putvar CFG_PREFIX
406
364
407
365
putvar CFG_LLVM_ROOT
408
- putvar CFG_LLVM_CONFIG
409
- putvar CFG_LLVM_INCDIR
410
- putvar CFG_LLVM_BINDIR
411
- putvar CFG_LLVM_LIBDIR
412
- putvar CFG_LLVM_CXXFLAGS
413
- putvar CFG_LLVM_LDFLAGS
414
- putvar CFG_LLVM_LIBS
415
- putvar CFG_LLVM_TRIPLE
416
366
417
367
step_msg " making directories"
418
368
@@ -494,53 +444,59 @@ msg
494
444
495
445
496
446
# Configure llvm. Here we go...
497
- step_msg " configuring LLVM"
498
-
499
447
CFG_LLVM_SRC_DIR=${CFG_SRC_DIR} src/llvm
500
448
CFG_LLVM_BUILD_DIR=${CFG_BUILD_DIR} /llvm
501
449
# Just use LLVM straight from its build directory to avoid 'make install' time
502
450
CFG_LLVM_INST_DIR=${CFG_LLVM_BUILD_DIR} /Release+Asserts
503
451
504
- LLVM_TARGETS=" --enable-targets=x86,x86_64"
505
- LLVM_BUILD=" --build=${CFG_HOST_TRIPLE} "
506
- LLVM_HOST=" --host=${CFG_HOST_TRIPLE} "
507
- LLVM_TARGET=" --target=${CFG_HOST_TRIPLE} "
508
- LLVM_OPTS=" --enable-optimized --disable-docs"
509
-
510
- LLVM_CXX_32=" g++ -m32"
511
- LLVM_CC_32=" gcc -m32"
512
- LLVM_CFLAGS_32=" -m32"
513
- LLVM_CXXFLAGS_32=" -m32"
514
- LLVM_LDFLAGS_32=" -m32"
515
-
516
- # FIXME: Need to change flags for x64
517
- LLVM_CXX=$LLVM_CXX_32
518
- LLVM_CC=$LLVM_CC_32
519
- LLVM_CFLAGS=$LLVM_CFLAGS_32
520
- LLVM_CXXFLAGS=$LLVM_CXXFLAGS_32
521
- LLVM_LDFLAGS=$LLVM_LDFLAGS_32
522
-
523
- CXX=$LLVM_CXX
524
- CC=$LLVM_CC
525
- CFLAGS=$LLVM_CFLAGS
526
- CXXFLAGS=$LLVM_CXXFLAGS
527
- LDFLAGS=$LLVM_LDFLAGS
528
-
529
- LLVM_FLAGS=" $LLVM_TARGETS $LLVM_OPTS $LLVM_BUILD $LLVM_HOST $LLVM_TARGET "
530
-
531
- msg " configuring LLVM with:"
532
- msg " $LLVM_FLAGS "
533
-
534
- export CXX
535
- export CC
536
- export CFLAGS
537
- export CXXFLAGS
538
- export LDFLAGS
539
-
540
- cd $CFG_LLVM_BUILD_DIR
541
- # FIXME: This won't work if CFG_SRC_DIR is absolute
542
- ${CFG_BUILD_DIR} /${CFG_LLVM_SRC_DIR} /configure $LLVM_FLAGS
543
- cd $CFG_BUILD_DIR
452
+ if [ -z $CFG_LLVM_ROOT ]
453
+ then
454
+ step_msg " configuring LLVM"
455
+
456
+ LLVM_TARGETS=" --enable-targets=x86,x86_64"
457
+ LLVM_BUILD=" --build=${CFG_HOST_TRIPLE} "
458
+ LLVM_HOST=" --host=${CFG_HOST_TRIPLE} "
459
+ LLVM_TARGET=" --target=${CFG_HOST_TRIPLE} "
460
+ LLVM_OPTS=" --enable-optimized --disable-docs"
461
+
462
+ LLVM_CXX_32=" g++ -m32"
463
+ LLVM_CC_32=" gcc -m32"
464
+ LLVM_CFLAGS_32=" -m32"
465
+ LLVM_CXXFLAGS_32=" -m32"
466
+ LLVM_LDFLAGS_32=" -m32"
467
+
468
+ # FIXME: Need to change flags for x64
469
+ LLVM_CXX=$LLVM_CXX_32
470
+ LLVM_CC=$LLVM_CC_32
471
+ LLVM_CFLAGS=$LLVM_CFLAGS_32
472
+ LLVM_CXXFLAGS=$LLVM_CXXFLAGS_32
473
+ LLVM_LDFLAGS=$LLVM_LDFLAGS_32
474
+
475
+ CXX=$LLVM_CXX
476
+ CC=$LLVM_CC
477
+ CFLAGS=$LLVM_CFLAGS
478
+ CXXFLAGS=$LLVM_CXXFLAGS
479
+ LDFLAGS=$LLVM_LDFLAGS
480
+
481
+ LLVM_FLAGS=" $LLVM_TARGETS $LLVM_OPTS $LLVM_BUILD $LLVM_HOST $LLVM_TARGET "
482
+
483
+ msg " configuring LLVM with:"
484
+ msg " $LLVM_FLAGS "
485
+
486
+ export CXX
487
+ export CC
488
+ export CFLAGS
489
+ export CXXFLAGS
490
+ export LDFLAGS
491
+
492
+ cd $CFG_LLVM_BUILD_DIR
493
+ # FIXME: This won't work if CFG_SRC_DIR is absolute
494
+ ${CFG_BUILD_DIR} /${CFG_LLVM_SRC_DIR} /configure $LLVM_FLAGS
495
+ cd $CFG_BUILD_DIR
496
+ else
497
+ # The user is using their own LLVM
498
+ CFG_LLVM_INST_DIR=$CFG_LLVM_ROOT
499
+ fi
544
500
545
501
putvar CFG_LLVM_SRC_DIR
546
502
putvar CFG_LLVM_BUILD_DIR
0 commit comments