common/autoconf/help.m4

Wed, 23 Oct 2013 13:05:58 +0200

author
ihse
date
Wed, 23 Oct 2013 13:05:58 +0200
changeset 868
6f19b2440412
parent 862
dffe654ab24c
child 972
f3697e0783e2
permissions
-rw-r--r--

8001922: Improve freetype handling.
Reviewed-by: erikj

     1 #
     2 # Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
     3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4 #
     5 # This code is free software; you can redistribute it and/or modify it
     6 # under the terms of the GNU General Public License version 2 only, as
     7 # published by the Free Software Foundation.  Oracle designates this
     8 # particular file as subject to the "Classpath" exception as provided
     9 # by Oracle in the LICENSE file that accompanied this code.
    10 #
    11 # This code is distributed in the hope that it will be useful, but WITHOUT
    12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    13 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    14 # version 2 for more details (a copy is included in the LICENSE file that
    15 # accompanied this code).
    16 #
    17 # You should have received a copy of the GNU General Public License version
    18 # 2 along with this work; if not, write to the Free Software Foundation,
    19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    20 #
    21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    22 # or visit www.oracle.com if you need additional information or have any
    23 # questions.
    24 #
    26 AC_DEFUN_ONCE([HELP_SETUP_DEPENDENCY_HELP],
    27 [
    28   AC_CHECK_PROGS(PKGHANDLER, apt-get yum port pkgutil pkgadd)
    29 ])
    31 AC_DEFUN([HELP_MSG_MISSING_DEPENDENCY],
    32 [
    33   # Print a helpful message on how to acquire the necessary build dependency.
    34   # $1 is the help tag: freetype, cups, pulse, alsa etc
    35   MISSING_DEPENDENCY=$1
    37   if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
    38     cygwin_help $MISSING_DEPENDENCY
    39   elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
    40     msys_help $MISSING_DEPENDENCY
    41   else
    42     PKGHANDLER_COMMAND=
    44     case $PKGHANDLER in
    45       apt-get)
    46         apt_help     $MISSING_DEPENDENCY ;;
    47       yum)
    48         yum_help     $MISSING_DEPENDENCY ;;
    49       port)
    50         port_help    $MISSING_DEPENDENCY ;;
    51       pkgutil)
    52         pkgutil_help $MISSING_DEPENDENCY ;;
    53       pkgadd)
    54         pkgadd_help  $MISSING_DEPENDENCY ;;
    55       * )
    56         break ;;
    57     esac
    59     if test "x$PKGHANDLER_COMMAND" != x; then
    60       HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
    61     fi
    62   fi
    63 ])
    65 cygwin_help() {
    66   case $1 in
    67     unzip)
    68       PKGHANDLER_COMMAND="( cd <location of cygwin setup.exe> && cmd /c setup -q -P unzip )"
    69       HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
    70       ;;
    71     zip)
    72       PKGHANDLER_COMMAND="( cd <location of cygwin setup.exe> && cmd /c setup -q -P zip )"
    73       HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
    74       ;;
    75     make)
    76       PKGHANDLER_COMMAND="( cd <location of cygwin setup.exe> && cmd /c setup -q -P make )"
    77       HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
    78       ;;
    79     freetype)
    80       if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
    81         HELP_MSG="To install freetype, run:
    82 wget \"http://gnuwin32.sourceforge.net/downlinks/freetype.php\" -O /tmp/freetype-setup.exe
    83 chmod +x /tmp/freetype-setup.exe
    84 /tmp/freetype-setup.exe
    85 Follow GUI prompts, and install to default directory \"C:\Program Files (x86)\GnuWin32\".
    86 After installation, locate lib/libfreetype.dll.a and make a copy with the name freetype.dll."
    87       else
    88         HELP_MSG="You need to build a 64-bit version of freetype.
    89 This is not readily available.
    90 You can find source code and build instructions on
    91 http://www.freetype.org/
    92 If you put the resulting build in \"C:\Program Files\GnuWin32\", it will be found automatically."
    93       fi
    94       ;;
    95     * )
    96       break ;;
    97   esac
    98 }
   100 msys_help() {
   101   PKGHANDLER_COMMAND=""
   102 }
   104 apt_help() {
   105   case $1 in
   106     devkit)
   107       PKGHANDLER_COMMAND="sudo apt-get install build-essential" ;;
   108     openjdk)
   109       PKGHANDLER_COMMAND="sudo apt-get install openjdk-7-jdk" ;;
   110     alsa)
   111       PKGHANDLER_COMMAND="sudo apt-get install libasound2-dev" ;;
   112     cups)
   113       PKGHANDLER_COMMAND="sudo apt-get install libcups2-dev" ;;
   114     freetype)
   115       PKGHANDLER_COMMAND="sudo apt-get install libfreetype6-dev" ;;
   116     pulse)
   117       PKGHANDLER_COMMAND="sudo apt-get install libpulse-dev" ;;
   118     x11)
   119       PKGHANDLER_COMMAND="sudo apt-get install libX11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev" ;;
   120     ccache)
   121       PKGHANDLER_COMMAND="sudo apt-get install ccache" ;;
   122     * )
   123       break ;;
   124   esac
   125 }
   127 yum_help() {
   128   case $1 in
   129     devkit)
   130       PKGHANDLER_COMMAND="sudo yum groupinstall \"Development Tools\"" ;;
   131     openjdk)
   132       PKGHANDLER_COMMAND="sudo yum install java-1.7.0-openjdk" ;;
   133     alsa)
   134       PKGHANDLER_COMMAND="sudo yum install alsa-lib-devel" ;;
   135     cups)
   136       PKGHANDLER_COMMAND="sudo yum install cups-devel" ;;
   137     freetype)
   138       PKGHANDLER_COMMAND="sudo yum install freetype-devel" ;;
   139     pulse)
   140       PKGHANDLER_COMMAND="sudo yum install pulseaudio-libs-devel" ;;
   141     x11)
   142       PKGHANDLER_COMMAND="sudo yum install libXtst-devel libXt-devel libXrender-devel" ;;
   143     ccache)
   144       PKGHANDLER_COMMAND="sudo yum install ccache" ;;
   145     * )
   146       break ;;
   147   esac
   148 }
   150 port_help() {
   151   PKGHANDLER_COMMAND=""
   152 }
   154 pkgutil_help() {
   155   PKGHANDLER_COMMAND=""
   156 }
   158 pkgadd_help() {
   159   PKGHANDLER_COMMAND=""
   160 }
   162 AC_DEFUN_ONCE([HELP_PRINT_SUMMARY_AND_WARNINGS],
   163 [
   164   # Finally output some useful information to the user
   166   if test "x$CCACHE_FOUND" != x; then
   167     if  test "x$HAS_GOOD_CCACHE" = x; then
   168       CCACHE_STATUS="installed, but disabled (version older than 3.1.4)"
   169       CCACHE_HELP_MSG="You have ccache installed, but it is a version prior to 3.1.4. Try upgrading."
   170     else
   171       CCACHE_STATUS="installed and in use"
   172     fi
   173   else
   174     if test "x$GCC" = xyes; then
   175       CCACHE_STATUS="not installed (consider installing)"
   176       CCACHE_HELP_MSG="You do not have ccache installed. Try installing it."
   177     else
   178       CCACHE_STATUS="not available for your system"
   179     fi
   180   fi
   182   printf "\n"
   183   printf "====================================================\n"
   184   printf "A new configuration has been successfully created in\n"
   185   printf "$OUTPUT_ROOT\n"
   186   if test "x$CONFIGURE_COMMAND_LINE" != x; then
   187     printf "using configure arguments '$CONFIGURE_COMMAND_LINE'.\n"
   188   else
   189     printf "using default settings.\n"
   190   fi
   192   printf "\n"
   193   printf "Configuration summary:\n"
   194   printf "* Debug level:    $DEBUG_LEVEL\n"
   195   printf "* JDK variant:    $JDK_VARIANT\n"
   196   printf "* JVM variants:   $with_jvm_variants\n"
   197   printf "* OpenJDK target: OS: $OPENJDK_TARGET_OS, CPU architecture: $OPENJDK_TARGET_CPU_ARCH, address length: $OPENJDK_TARGET_CPU_BITS\n"
   199   printf "\n"
   200   printf "Tools summary:\n"
   201   if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
   202     printf "* Environment:    $WINDOWS_ENV_VENDOR version $WINDOWS_ENV_VERSION (root at $WINDOWS_ENV_ROOT_PATH)\n"
   203   fi
   204   printf "* Boot JDK:       $BOOT_JDK_VERSION (at $BOOT_JDK)\n"
   205   printf "* C Compiler:     $CC_VENDOR version $CC_VERSION (at $CC)\n"
   206   printf "* C++ Compiler:   $CXX_VENDOR version $CXX_VERSION (at $CXX)\n"
   208   printf "\n"
   209   printf "Build performance summary:\n"
   210   printf "* Cores to use:   $JOBS\n"
   211   printf "* Memory limit:   $MEMORY_SIZE MB\n"
   212   printf "* ccache status:  $CCACHE_STATUS\n"
   213   printf "\n"
   215   if test "x$CCACHE_HELP_MSG" != x && test "x$HIDE_PERFORMANCE_HINTS" = "xno"; then
   216     printf "Build performance tip: ccache gives a tremendous speedup for C++ recompilations.\n"
   217     printf "$CCACHE_HELP_MSG\n"
   218     HELP_MSG_MISSING_DEPENDENCY([ccache])
   219     printf "$HELP_MSG\n"
   220     printf "\n"
   221   fi
   223   if test "x$BUILDING_MULTIPLE_JVM_VARIANTS" = "xyes"; then
   224     printf "NOTE: You have requested to build more than one version of the JVM, which\n"
   225     printf "will result in longer build times.\n"
   226     printf "\n"
   227   fi
   229   if test "x$FOUND_ALT_VARIABLES" != "x"; then
   230     printf "WARNING: You have old-style ALT_ environment variables set.\n"
   231     printf "These are not respected, and will be ignored. It is recommended\n"
   232     printf "that you clean your environment. The following variables are set:\n"
   233     printf "$FOUND_ALT_VARIABLES\n"
   234     printf "\n"
   235   fi
   237   if test "x$OUTPUT_DIR_IS_LOCAL" != "xyes"; then
   238     printf "WARNING: Your build output directory is not on a local disk.\n"
   239     printf "This will severely degrade build performance!\n"
   240     printf "It is recommended that you create an output directory on a local disk,\n"
   241     printf "and run the configure script again from that directory.\n"
   242     printf "\n"
   243   fi
   245   if test "x$IS_RECONFIGURE" = "xyes"; then
   246     printf "WARNING: The result of this configuration has overridden an older\n"
   247     printf "configuration. You *should* run 'make clean' to make sure you get a\n"
   248     printf "proper build. Failure to do so might result in strange build problems.\n"
   249     printf "\n"
   250   fi
   251 ])

mercurial