337 |
337 |
338 # Export PATH setting |
338 # Export PATH setting |
339 PATH="${path4sdk}" |
339 PATH="${path4sdk}" |
340 export PATH |
340 export PATH |
341 |
341 |
|
342 # Export variables required for Zero |
|
343 if [ "${ZERO_BUILD}" = true ] ; then |
|
344 # ZERO_LIBARCH is the name of the architecture-specific |
|
345 # subdirectory under $JAVA_HOME/jre/lib |
|
346 arch=$(uname -m) |
|
347 case "${arch}" in |
|
348 x86_64) ZERO_LIBARCH=amd64 ;; |
|
349 i?86) ZERO_LIBARCH=i386 ;; |
|
350 sparc64) ZERO_LIBARCH=sparcv9 ;; |
|
351 arm*) ZERO_LIBARCH=arm ;; |
|
352 *) ZERO_LIBARCH="$(arch)" |
|
353 esac |
|
354 export ZERO_LIBARCH |
|
355 |
|
356 # ARCH_DATA_MODEL is the number of bits in a pointer |
|
357 case "${ZERO_LIBARCH}" in |
|
358 i386|ppc|s390|sparc|arm) |
|
359 ARCH_DATA_MODEL=32 |
|
360 ;; |
|
361 amd64|ppc64|s390x|sparcv9|ia64|alpha) |
|
362 ARCH_DATA_MODEL=64 |
|
363 ;; |
|
364 *) |
|
365 echo "ERROR: Unable to determine ARCH_DATA_MODEL for ${ZERO_LIBARCH}" |
|
366 exit 1 |
|
367 esac |
|
368 export ARCH_DATA_MODEL |
|
369 |
|
370 # ZERO_ENDIANNESS is the endianness of the processor |
|
371 case "${ZERO_LIBARCH}" in |
|
372 i386|amd64|ia64) |
|
373 ZERO_ENDIANNESS=little |
|
374 ;; |
|
375 ppc*|s390*|sparc*|alpha) |
|
376 ZERO_ENDIANNESS=big |
|
377 ;; |
|
378 *) |
|
379 echo "ERROR: Unable to determine ZERO_ENDIANNESS for ${ZERO_LIBARCH}" |
|
380 exit 1 |
|
381 esac |
|
382 export ZERO_ENDIANNESS |
|
383 |
|
384 # ZERO_ARCHDEF is used to enable architecture-specific code |
|
385 case "${ZERO_LIBARCH}" in |
|
386 i386) ZERO_ARCHDEF=IA32 ;; |
|
387 ppc*) ZERO_ARCHDEF=PPC ;; |
|
388 s390*) ZERO_ARCHDEF=S390 ;; |
|
389 sparc*) ZERO_ARCHDEF=SPARC ;; |
|
390 *) ZERO_ARCHDEF=$(echo "${ZERO_LIBARCH}" | tr a-z A-Z) |
|
391 esac |
|
392 export ZERO_ARCHDEF |
|
393 |
|
394 # ZERO_ARCHFLAG tells the compiler which mode to build for |
|
395 case "${ZERO_LIBARCH}" in |
|
396 s390) |
|
397 ZERO_ARCHFLAG="-m31" |
|
398 ;; |
|
399 *) |
|
400 ZERO_ARCHFLAG="-m${ARCH_DATA_MODEL}" |
|
401 esac |
|
402 export ZERO_ARCHFLAG |
|
403 |
|
404 # LIBFFI_CFLAGS and LIBFFI_LIBS tell the compiler how to compile and |
|
405 # link against libffi |
|
406 pkgconfig=$(which pkg-config 2>/dev/null) |
|
407 if [ -x "${pkgconfig}" ] ; then |
|
408 if [ "${LIBFFI_CFLAGS}" = "" ] ; then |
|
409 LIBFFI_CFLAGS=$("${pkgconfig}" --cflags libffi) |
|
410 fi |
|
411 if [ "${LIBFFI_LIBS}" = "" ] ; then |
|
412 LIBFFI_LIBS=$("${pkgconfig}" --libs libffi) |
|
413 fi |
|
414 fi |
|
415 if [ "${LIBFFI_LIBS}" = "" ] ; then |
|
416 LIBFFI_LIBS="-lffi" |
|
417 fi |
|
418 export LIBFFI_CFLAGS |
|
419 export LIBFFI_LIBS |
|
420 fi |