common/autoconf/help.m4
author shade
Tue, 01 Sep 2015 12:57:41 +0300
changeset 32467 23b29549f8d1
parent 30417 581a2762eef1
child 33926 3a19edba4808
child 32809 a24b5324b595
permissions -rw-r--r--
8076758: new StringBuilder().append(String).toString() should be recognized by OptimizeStringConcat Reviewed-by: kvn, thartmann
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
     1
#
22721
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
     2
# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
     3
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
     4
#
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
     5
# This code is free software; you can redistribute it and/or modify it
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
     6
# under the terms of the GNU General Public License version 2 only, as
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
     7
# published by the Free Software Foundation.  Oracle designates this
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
     8
# particular file as subject to the "Classpath" exception as provided
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
     9
# by Oracle in the LICENSE file that accompanied this code.
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
    10
#
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
    11
# This code is distributed in the hope that it will be useful, but WITHOUT
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
    12
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
    13
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
    14
# version 2 for more details (a copy is included in the LICENSE file that
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
    15
# accompanied this code).
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
    16
#
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
    17
# You should have received a copy of the GNU General Public License version
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
    18
# 2 along with this work; if not, write to the Free Software Foundation,
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
    19
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
    20
#
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
    21
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
    22
# or visit www.oracle.com if you need additional information or have any
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
    23
# questions.
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
    24
#
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
    25
13132
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
    26
AC_DEFUN_ONCE([HELP_SETUP_DEPENDENCY_HELP],
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
    27
[
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
    28
  AC_CHECK_PROGS(PKGHANDLER, apt-get yum port pkgutil pkgadd)
13132
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
    29
])
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
    30
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
    31
AC_DEFUN([HELP_MSG_MISSING_DEPENDENCY],
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
    32
[
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
    33
  # Print a helpful message on how to acquire the necessary build dependency.
20654
2c17cbccf2ef 8001922: Improve freetype handling.
ihse
parents: 20648
diff changeset
    34
  # $1 is the help tag: freetype, cups, pulse, alsa etc
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
    35
  MISSING_DEPENDENCY=$1
20648
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    36
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    37
  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    38
    cygwin_help $MISSING_DEPENDENCY
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    39
  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    40
    msys_help $MISSING_DEPENDENCY
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    41
  else
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    42
    PKGHANDLER_COMMAND=
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
    43
20648
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    44
    case $PKGHANDLER in
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    45
      apt-get)
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    46
        apt_help     $MISSING_DEPENDENCY ;;
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    47
      yum)
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    48
        yum_help     $MISSING_DEPENDENCY ;;
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    49
      port)
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    50
        port_help    $MISSING_DEPENDENCY ;;
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    51
      pkgutil)
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    52
        pkgutil_help $MISSING_DEPENDENCY ;;
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    53
      pkgadd)
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    54
        pkgadd_help  $MISSING_DEPENDENCY ;;
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    55
    esac
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
    56
20648
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    57
    if test "x$PKGHANDLER_COMMAND" != x; then
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    58
      HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    59
    fi
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
    60
  fi
13132
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
    61
])
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
    62
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents: 13132
diff changeset
    63
cygwin_help() {
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
    64
  case $1 in
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents: 13132
diff changeset
    65
    unzip)
20648
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    66
      PKGHANDLER_COMMAND="( cd <location of cygwin setup.exe> && cmd /c setup -q -P unzip )"
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    67
      HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    68
      ;;
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents: 13132
diff changeset
    69
    zip)
20648
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    70
      PKGHANDLER_COMMAND="( cd <location of cygwin setup.exe> && cmd /c setup -q -P zip )"
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    71
      HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    72
      ;;
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents: 13132
diff changeset
    73
    make)
20648
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    74
      PKGHANDLER_COMMAND="( cd <location of cygwin setup.exe> && cmd /c setup -q -P make )"
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    75
      HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    76
      ;;
20654
2c17cbccf2ef 8001922: Improve freetype handling.
ihse
parents: 20648
diff changeset
    77
    freetype)
26400
4d6c6f2df610 8057538: Build the freetype library during configure on Windows
simonis
parents: 23424
diff changeset
    78
      HELP_MSG="
4d6c6f2df610 8057538: Build the freetype library during configure on Windows
simonis
parents: 23424
diff changeset
    79
The freetype library can now be build during the configure process.
4d6c6f2df610 8057538: Build the freetype library during configure on Windows
simonis
parents: 23424
diff changeset
    80
Download the freetype sources and unpack them into an arbitrary directory:
4d6c6f2df610 8057538: Build the freetype library during configure on Windows
simonis
parents: 23424
diff changeset
    81
4d6c6f2df610 8057538: Build the freetype library during configure on Windows
simonis
parents: 23424
diff changeset
    82
wget http://download.savannah.gnu.org/releases/freetype/freetype-2.5.3.tar.gz
4d6c6f2df610 8057538: Build the freetype library during configure on Windows
simonis
parents: 23424
diff changeset
    83
tar -xzf freetype-2.5.3.tar.gz
4d6c6f2df610 8057538: Build the freetype library during configure on Windows
simonis
parents: 23424
diff changeset
    84
4d6c6f2df610 8057538: Build the freetype library during configure on Windows
simonis
parents: 23424
diff changeset
    85
Then run configure with '--with-freetype-src=<freetype_src>'. This will
4d6c6f2df610 8057538: Build the freetype library during configure on Windows
simonis
parents: 23424
diff changeset
    86
automatically build the freetype library into '<freetype_src>/lib64' for 64-bit
4d6c6f2df610 8057538: Build the freetype library during configure on Windows
simonis
parents: 23424
diff changeset
    87
builds or into '<freetype_src>/lib32' for 32-bit builds.
4d6c6f2df610 8057538: Build the freetype library during configure on Windows
simonis
parents: 23424
diff changeset
    88
Afterwards you can always use '--with-freetype-include=<freetype_src>/include'
4d6c6f2df610 8057538: Build the freetype library during configure on Windows
simonis
parents: 23424
diff changeset
    89
and '--with-freetype-lib=<freetype_src>/lib[32|64]' for other builds."
20648
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    90
      ;;
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
    91
  esac
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents: 13132
diff changeset
    92
}
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents: 13132
diff changeset
    93
20648
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    94
msys_help() {
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    95
  PKGHANDLER_COMMAND=""
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    96
}
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    97
13132
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
    98
apt_help() {
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
    99
  case $1 in
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   100
    devkit)
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   101
      PKGHANDLER_COMMAND="sudo apt-get install build-essential" ;;
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   102
    openjdk)
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   103
      PKGHANDLER_COMMAND="sudo apt-get install openjdk-7-jdk" ;;
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   104
    alsa)
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   105
      PKGHANDLER_COMMAND="sudo apt-get install libasound2-dev" ;;
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   106
    cups)
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   107
      PKGHANDLER_COMMAND="sudo apt-get install libcups2-dev" ;;
20654
2c17cbccf2ef 8001922: Improve freetype handling.
ihse
parents: 20648
diff changeset
   108
    freetype)
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   109
      PKGHANDLER_COMMAND="sudo apt-get install libfreetype6-dev" ;;
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   110
    pulse)
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   111
      PKGHANDLER_COMMAND="sudo apt-get install libpulse-dev" ;;
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   112
    x11)
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   113
      PKGHANDLER_COMMAND="sudo apt-get install libX11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev" ;;
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   114
    ccache)
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   115
      PKGHANDLER_COMMAND="sudo apt-get install ccache" ;;
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   116
  esac
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   117
}
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   118
13132
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   119
yum_help() {
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   120
  case $1 in
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   121
    devkit)
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   122
      PKGHANDLER_COMMAND="sudo yum groupinstall \"Development Tools\"" ;;
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   123
    openjdk)
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   124
      PKGHANDLER_COMMAND="sudo yum install java-1.7.0-openjdk" ;;
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   125
    alsa)
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   126
      PKGHANDLER_COMMAND="sudo yum install alsa-lib-devel" ;;
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   127
    cups)
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   128
      PKGHANDLER_COMMAND="sudo yum install cups-devel" ;;
20654
2c17cbccf2ef 8001922: Improve freetype handling.
ihse
parents: 20648
diff changeset
   129
    freetype)
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   130
      PKGHANDLER_COMMAND="sudo yum install freetype-devel" ;;
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   131
    pulse)
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   132
      PKGHANDLER_COMMAND="sudo yum install pulseaudio-libs-devel" ;;
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   133
    x11)
27330
5e83ad1a521a 8062661: Do not perform X11 checks in configure when X11 is not needed
ihse
parents: 26400
diff changeset
   134
      PKGHANDLER_COMMAND="sudo yum install libXtst-devel libXt-devel libXrender-devel libXi-devel" ;;
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   135
    ccache)
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   136
      PKGHANDLER_COMMAND="sudo yum install ccache" ;;
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   137
  esac
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   138
}
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   139
13132
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   140
port_help() {
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   141
  PKGHANDLER_COMMAND=""
13132
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   142
}
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   143
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   144
pkgutil_help() {
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   145
  PKGHANDLER_COMMAND=""
13132
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   146
}
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   147
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   148
pkgadd_help() {
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   149
  PKGHANDLER_COMMAND=""
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   150
}
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   151
22721
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   152
# This function will check if we're called from the "configure" wrapper while
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   153
# printing --help. If so, we will print out additional information that can
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   154
# only be extracted within the autoconf script, and then exit. This must be
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   155
# called at the very beginning in configure.ac.
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   156
AC_DEFUN_ONCE([HELP_PRINT_ADDITIONAL_HELP_AND_EXIT],
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   157
[
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   158
  if test "x$CONFIGURE_PRINT_TOOLCHAIN_LIST" != x; then
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   159
    $PRINTF "The following toolchains are available as arguments to --with-toolchain-type.\n"
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   160
    $PRINTF "Which are valid to use depends on the build platform.\n"
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   161
    for toolchain in $VALID_TOOLCHAINS_all; do
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   162
      # Use indirect variable referencing
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   163
      toolchain_var_name=TOOLCHAIN_DESCRIPTION_$toolchain
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   164
      TOOLCHAIN_DESCRIPTION=${!toolchain_var_name}
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   165
      $PRINTF "  %-10s  %s\n" $toolchain "$TOOLCHAIN_DESCRIPTION"
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   166
    done
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   167
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   168
    # And now exit directly
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   169
    exit 0
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   170
  fi
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   171
])
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   172
13132
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   173
AC_DEFUN_ONCE([HELP_PRINT_SUMMARY_AND_WARNINGS],
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   174
[
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   175
  # Finally output some useful information to the user
13132
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   176
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   177
  printf "\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   178
  printf "====================================================\n"
22717
aa6f400923a9 8034979: Configuration help messages don't consider --no-create
mduigou
parents: 22474
diff changeset
   179
  if test "x$no_create" != "xyes"; then
aa6f400923a9 8034979: Configuration help messages don't consider --no-create
mduigou
parents: 22474
diff changeset
   180
    if test "x$IS_RECONFIGURE" != "xyes"; then
27587
e51da3db3464 8065215: Print warning summary at end of configure
ihse
parents: 27330
diff changeset
   181
      printf "A new configuration has been successfully created in\n%s\n" "$OUTPUT_ROOT"
22717
aa6f400923a9 8034979: Configuration help messages don't consider --no-create
mduigou
parents: 22474
diff changeset
   182
    else
27587
e51da3db3464 8065215: Print warning summary at end of configure
ihse
parents: 27330
diff changeset
   183
      printf "The existing configuration has been successfully updated in\n%s\n" "$OUTPUT_ROOT"
22717
aa6f400923a9 8034979: Configuration help messages don't consider --no-create
mduigou
parents: 22474
diff changeset
   184
    fi
aa6f400923a9 8034979: Configuration help messages don't consider --no-create
mduigou
parents: 22474
diff changeset
   185
  else
aa6f400923a9 8034979: Configuration help messages don't consider --no-create
mduigou
parents: 22474
diff changeset
   186
    if test "x$IS_RECONFIGURE" != "xyes"; then
aa6f400923a9 8034979: Configuration help messages don't consider --no-create
mduigou
parents: 22474
diff changeset
   187
      printf "A configuration has been successfully checked but not created\n"
aa6f400923a9 8034979: Configuration help messages don't consider --no-create
mduigou
parents: 22474
diff changeset
   188
    else
27587
e51da3db3464 8065215: Print warning summary at end of configure
ihse
parents: 27330
diff changeset
   189
      printf "The existing configuration has been successfully checked in\n%s\n" "$OUTPUT_ROOT"
22717
aa6f400923a9 8034979: Configuration help messages don't consider --no-create
mduigou
parents: 22474
diff changeset
   190
    fi
aa6f400923a9 8034979: Configuration help messages don't consider --no-create
mduigou
parents: 22474
diff changeset
   191
  fi
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   192
  if test "x$CONFIGURE_COMMAND_LINE" != x; then
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   193
    printf "using configure arguments '$CONFIGURE_COMMAND_LINE'.\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   194
  else
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   195
    printf "using default settings.\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   196
  fi
13132
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   197
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   198
  printf "\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   199
  printf "Configuration summary:\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   200
  printf "* Debug level:    $DEBUG_LEVEL\n"
23424
65039fb99fda 8037298: Export HotSpots 'optimized' (i.e. not-product) configuration in the top-level configure/makefile
simonis
parents: 22721
diff changeset
   201
  printf "* HS debug level: $HOTSPOT_DEBUG_LEVEL\n"
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   202
  printf "* JDK variant:    $JDK_VARIANT\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   203
  printf "* JVM variants:   $with_jvm_variants\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   204
  printf "* OpenJDK target: OS: $OPENJDK_TARGET_OS, CPU architecture: $OPENJDK_TARGET_CPU_ARCH, address length: $OPENJDK_TARGET_CPU_BITS\n"
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents: 13132
diff changeset
   205
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   206
  printf "\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   207
  printf "Tools summary:\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   208
  if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   209
    printf "* Environment:    $WINDOWS_ENV_VENDOR version $WINDOWS_ENV_VERSION (root at $WINDOWS_ENV_ROOT_PATH)\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   210
  fi
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   211
  printf "* Boot JDK:       $BOOT_JDK_VERSION (at $BOOT_JDK)\n"
28901
5acc0ec03d06 8042707: Source changes needed to build JDK 9 with Visual Studio 2013 (VS2013)
erikj
parents: 27587
diff changeset
   212
  if test "x$TOOLCHAIN_VERSION" != "x"; then
5acc0ec03d06 8042707: Source changes needed to build JDK 9 with Visual Studio 2013 (VS2013)
erikj
parents: 27587
diff changeset
   213
    print_version=" $TOOLCHAIN_VERSION"
5acc0ec03d06 8042707: Source changes needed to build JDK 9 with Visual Studio 2013 (VS2013)
erikj
parents: 27587
diff changeset
   214
  fi
30417
581a2762eef1 8079891: Store configure log in $BUILD/configure.log
ihse
parents: 28901
diff changeset
   215
  printf "* Toolchain:      $TOOLCHAIN_TYPE ($TOOLCHAIN_DESCRIPTION$print_version)\n"
22721
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   216
  printf "* C Compiler:     Version $CC_VERSION_NUMBER (at $CC)\n"
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   217
  printf "* C++ Compiler:   Version $CXX_VERSION_NUMBER (at $CXX)\n"
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   218
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   219
  printf "\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   220
  printf "Build performance summary:\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   221
  printf "* Cores to use:   $JOBS\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   222
  printf "* Memory limit:   $MEMORY_SIZE MB\n"
22474
83fec92ec43d 8027584: Disable ccache by default
ihse
parents: 22467
diff changeset
   223
  if test "x$CCACHE_STATUS" != "x"; then
83fec92ec43d 8027584: Disable ccache by default
ihse
parents: 22467
diff changeset
   224
    printf "* ccache status:  $CCACHE_STATUS\n"
83fec92ec43d 8027584: Disable ccache by default
ihse
parents: 22467
diff changeset
   225
  fi
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   226
  printf "\n"
13132
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   227
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   228
  if test "x$BUILDING_MULTIPLE_JVM_VARIANTS" = "xyes"; then
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   229
    printf "NOTE: You have requested to build more than one version of the JVM, which\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   230
    printf "will result in longer build times.\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   231
    printf "\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   232
  fi
13132
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   233
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   234
  if test "x$FOUND_ALT_VARIABLES" != "x"; then
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   235
    printf "WARNING: You have old-style ALT_ environment variables set.\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   236
    printf "These are not respected, and will be ignored. It is recommended\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   237
    printf "that you clean your environment. The following variables are set:\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   238
    printf "$FOUND_ALT_VARIABLES\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   239
    printf "\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   240
  fi
13132
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   241
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   242
  if test "x$OUTPUT_DIR_IS_LOCAL" != "xyes"; then
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   243
    printf "WARNING: Your build output directory is not on a local disk.\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   244
    printf "This will severely degrade build performance!\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   245
    printf "It is recommended that you create an output directory on a local disk,\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   246
    printf "and run the configure script again from that directory.\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   247
    printf "\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   248
  fi
13132
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   249
22717
aa6f400923a9 8034979: Configuration help messages don't consider --no-create
mduigou
parents: 22474
diff changeset
   250
  if test "x$IS_RECONFIGURE" = "xyes" && test "x$no_create" != "xyes"; then
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   251
    printf "WARNING: The result of this configuration has overridden an older\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   252
    printf "configuration. You *should* run 'make clean' to make sure you get a\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   253
    printf "proper build. Failure to do so might result in strange build problems.\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   254
    printf "\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   255
  fi
22717
aa6f400923a9 8034979: Configuration help messages don't consider --no-create
mduigou
parents: 22474
diff changeset
   256
aa6f400923a9 8034979: Configuration help messages don't consider --no-create
mduigou
parents: 22474
diff changeset
   257
  if test "x$IS_RECONFIGURE" != "xyes" && test "x$no_create" = "xyes"; then
aa6f400923a9 8034979: Configuration help messages don't consider --no-create
mduigou
parents: 22474
diff changeset
   258
    printf "WARNING: The result of this configuration was not saved.\n"
aa6f400923a9 8034979: Configuration help messages don't consider --no-create
mduigou
parents: 22474
diff changeset
   259
    printf "You should run without '--no-create | -n' to create the configuration.\n"
aa6f400923a9 8034979: Configuration help messages don't consider --no-create
mduigou
parents: 22474
diff changeset
   260
    printf "\n"
aa6f400923a9 8034979: Configuration help messages don't consider --no-create
mduigou
parents: 22474
diff changeset
   261
  fi
13132
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   262
])
27587
e51da3db3464 8065215: Print warning summary at end of configure
ihse
parents: 27330
diff changeset
   263
e51da3db3464 8065215: Print warning summary at end of configure
ihse
parents: 27330
diff changeset
   264
AC_DEFUN_ONCE([HELP_REPEAT_WARNINGS],
e51da3db3464 8065215: Print warning summary at end of configure
ihse
parents: 27330
diff changeset
   265
[
30417
581a2762eef1 8079891: Store configure log in $BUILD/configure.log
ihse
parents: 28901
diff changeset
   266
  # Locate config.log.
581a2762eef1 8079891: Store configure log in $BUILD/configure.log
ihse
parents: 28901
diff changeset
   267
  if test -e "$CONFIGURESUPPORT_OUTPUTDIR/config.log"; then
581a2762eef1 8079891: Store configure log in $BUILD/configure.log
ihse
parents: 28901
diff changeset
   268
    CONFIG_LOG_PATH="$CONFIGURESUPPORT_OUTPUTDIR"
581a2762eef1 8079891: Store configure log in $BUILD/configure.log
ihse
parents: 28901
diff changeset
   269
  elif test -e "./config.log"; then
581a2762eef1 8079891: Store configure log in $BUILD/configure.log
ihse
parents: 28901
diff changeset
   270
    CONFIG_LOG_PATH="."
27587
e51da3db3464 8065215: Print warning summary at end of configure
ihse
parents: 27330
diff changeset
   271
  fi
e51da3db3464 8065215: Print warning summary at end of configure
ihse
parents: 27330
diff changeset
   272
30417
581a2762eef1 8079891: Store configure log in $BUILD/configure.log
ihse
parents: 28901
diff changeset
   273
  if test -e "$CONFIG_LOG_PATH/config.log"; then
581a2762eef1 8079891: Store configure log in $BUILD/configure.log
ihse
parents: 28901
diff changeset
   274
    $GREP '^configure:.*: WARNING:' "$CONFIG_LOG_PATH/config.log" > /dev/null 2>&1
581a2762eef1 8079891: Store configure log in $BUILD/configure.log
ihse
parents: 28901
diff changeset
   275
    if test $? -eq 0; then
581a2762eef1 8079891: Store configure log in $BUILD/configure.log
ihse
parents: 28901
diff changeset
   276
      printf "The following warnings were produced. Repeated here for convenience:\n"
581a2762eef1 8079891: Store configure log in $BUILD/configure.log
ihse
parents: 28901
diff changeset
   277
      # We must quote sed expression (using []) to stop m4 from eating the [].
581a2762eef1 8079891: Store configure log in $BUILD/configure.log
ihse
parents: 28901
diff changeset
   278
      $GREP '^configure:.*: WARNING:' "$CONFIG_LOG_PATH/config.log" | $SED -e [ 's/^configure:[0-9]*: //' ]
581a2762eef1 8079891: Store configure log in $BUILD/configure.log
ihse
parents: 28901
diff changeset
   279
      printf "\n"
581a2762eef1 8079891: Store configure log in $BUILD/configure.log
ihse
parents: 28901
diff changeset
   280
    fi
581a2762eef1 8079891: Store configure log in $BUILD/configure.log
ihse
parents: 28901
diff changeset
   281
  fi
27587
e51da3db3464 8065215: Print warning summary at end of configure
ihse
parents: 27330
diff changeset
   282
])