jdk/make/jdk_generic_profile.sh
changeset 4111 ffc9c33335f4
parent 2300 103e268e2d16
child 5506 202f599c92aa
equal deleted inserted replaced
4002:4e7661eaa211 4111:ffc9c33335f4
   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