common/autoconf/help.m4
author alanb
Thu, 17 Mar 2016 19:03:53 +0000
changeset 36506 17612cee3530
parent 36296 428cc83bfc1e
child 37402 62b5f067032e
permissions -rw-r--r--
8142968: Module System implementation Summary: Initial integration of JEP 200, JEP 260, JEP 261, and JEP 282 Reviewed-by: alanb, mchung, tbell Contributed-by: alan.bateman@oracle.com, alex.buckley@oracle.com, jonathan.gibbons@oracle.com, karen.kinnear@oracle.com, mandy.chung@oracle.com, mark.reinhold@oracle.com, erik.joelsson@oracle.com, chris.hegarty@oracle.com, christian.tornqvist@oracle.com, harold.seigel@oracle.com, igor.ignatyev@oracle.com, james.laskey@oracle.com, jean-francois.denise@oracle.com, sundararajan.athijegannathan@oracle.com
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
     1
#
35747
aeaa6d0101a8 8149647: Incremental enhancements from build-infra
ihse
parents: 34604
diff changeset
     2
# Copyright (c) 2011, 2016, 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.
32921
8e0250dfa145 8138761: Improved handling of libffi, and cleanup of libraries.m4
ihse
parents: 32809
diff changeset
    34
  # $1 is the help tag: freetype, cups, 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'
34604
2adbe257ce54 8145548: Add default directory for freetype source
ihse
parents: 33950
diff changeset
    89
and '--with-freetype-lib=<freetype_src>/lib[32|64]' for other builds.
2adbe257ce54 8145548: Add default directory for freetype source
ihse
parents: 33950
diff changeset
    90
2adbe257ce54 8145548: Add default directory for freetype source
ihse
parents: 33950
diff changeset
    91
Alternatively you can unpack the sources like this to use the default directory:
2adbe257ce54 8145548: Add default directory for freetype source
ihse
parents: 33950
diff changeset
    92
2adbe257ce54 8145548: Add default directory for freetype source
ihse
parents: 33950
diff changeset
    93
tar --one-top-level=$HOME/freetype --strip-components=1 -xzf freetype-2.5.3.tar.gz"
20648
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    94
      ;;
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
    95
  esac
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents: 13132
diff changeset
    96
}
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents: 13132
diff changeset
    97
20648
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    98
msys_help() {
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
    99
  PKGHANDLER_COMMAND=""
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
   100
}
d4ac4db6e70c 8001925: Add useful help messages if freetype is not found on Windows
ihse
parents: 20363
diff changeset
   101
13132
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   102
apt_help() {
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   103
  case $1 in
32809
a24b5324b595 8138627: Better help message in configure for reduced builds (target-bits=32)
ihse
parents: 30417
diff changeset
   104
    reduced)
a24b5324b595 8138627: Better help message in configure for reduced builds (target-bits=32)
ihse
parents: 30417
diff changeset
   105
      PKGHANDLER_COMMAND="sudo apt-get install gcc-multilib g++-multilib" ;;
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   106
    devkit)
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   107
      PKGHANDLER_COMMAND="sudo apt-get install build-essential" ;;
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   108
    openjdk)
36296
428cc83bfc1e 8151685: Fix the version of required jdk in configure help text
erikj
parents: 35747
diff changeset
   109
      PKGHANDLER_COMMAND="sudo apt-get install openjdk-8-jdk" ;;
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   110
    alsa)
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   111
      PKGHANDLER_COMMAND="sudo apt-get install libasound2-dev" ;;
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   112
    cups)
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   113
      PKGHANDLER_COMMAND="sudo apt-get install libcups2-dev" ;;
20654
2c17cbccf2ef 8001922: Improve freetype handling.
ihse
parents: 20648
diff changeset
   114
    freetype)
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   115
      PKGHANDLER_COMMAND="sudo apt-get install libfreetype6-dev" ;;
32921
8e0250dfa145 8138761: Improved handling of libffi, and cleanup of libraries.m4
ihse
parents: 32809
diff changeset
   116
    ffi)
8e0250dfa145 8138761: Improved handling of libffi, and cleanup of libraries.m4
ihse
parents: 32809
diff changeset
   117
      PKGHANDLER_COMMAND="sudo apt-get install libffi-dev" ;;
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   118
    x11)
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   119
      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
   120
    ccache)
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   121
      PKGHANDLER_COMMAND="sudo apt-get install ccache" ;;
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   122
  esac
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   123
}
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   124
13132
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   125
yum_help() {
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   126
  case $1 in
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   127
    devkit)
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   128
      PKGHANDLER_COMMAND="sudo yum groupinstall \"Development Tools\"" ;;
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   129
    openjdk)
36296
428cc83bfc1e 8151685: Fix the version of required jdk in configure help text
erikj
parents: 35747
diff changeset
   130
      PKGHANDLER_COMMAND="sudo yum install java-1.8.0-openjdk-devel" ;;
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   131
    alsa)
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   132
      PKGHANDLER_COMMAND="sudo yum install alsa-lib-devel" ;;
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   133
    cups)
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   134
      PKGHANDLER_COMMAND="sudo yum install cups-devel" ;;
20654
2c17cbccf2ef 8001922: Improve freetype handling.
ihse
parents: 20648
diff changeset
   135
    freetype)
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   136
      PKGHANDLER_COMMAND="sudo yum install freetype-devel" ;;
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   137
    x11)
27330
5e83ad1a521a 8062661: Do not perform X11 checks in configure when X11 is not needed
ihse
parents: 26400
diff changeset
   138
      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
   139
    ccache)
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   140
      PKGHANDLER_COMMAND="sudo yum install ccache" ;;
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   141
  esac
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   142
}
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   143
13132
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   144
port_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
pkgutil_help() {
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   149
  PKGHANDLER_COMMAND=""
13132
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   150
}
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   151
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   152
pkgadd_help() {
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   153
  PKGHANDLER_COMMAND=""
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   154
}
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   155
22721
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   156
# 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
   157
# 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
   158
# 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
   159
# called at the very beginning in configure.ac.
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   160
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
   161
[
35747
aeaa6d0101a8 8149647: Incremental enhancements from build-infra
ihse
parents: 34604
diff changeset
   162
  if test "x$CONFIGURE_PRINT_ADDITIONAL_HELP" != x; then
aeaa6d0101a8 8149647: Incremental enhancements from build-infra
ihse
parents: 34604
diff changeset
   163
aeaa6d0101a8 8149647: Incremental enhancements from build-infra
ihse
parents: 34604
diff changeset
   164
    # Print available toolchains
22721
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   165
    $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
   166
    $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
   167
    for toolchain in $VALID_TOOLCHAINS_all; do
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   168
      # Use indirect variable referencing
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   169
      toolchain_var_name=TOOLCHAIN_DESCRIPTION_$toolchain
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   170
      TOOLCHAIN_DESCRIPTION=${!toolchain_var_name}
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   171
      $PRINTF "  %-10s  %s\n" $toolchain "$TOOLCHAIN_DESCRIPTION"
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   172
    done
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   173
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   174
    # And now exit directly
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   175
    exit 0
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   176
  fi
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   177
])
63761da45392 8034788: Rewrite toolchain.m4 to support multiple toolchains per platform.
ihse
parents: 22717
diff changeset
   178
13132
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   179
AC_DEFUN_ONCE([HELP_PRINT_SUMMARY_AND_WARNINGS],
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   180
[
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   181
  # Finally output some useful information to the user
13132
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   182
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   183
  printf "\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   184
  printf "====================================================\n"
22717
aa6f400923a9 8034979: Configuration help messages don't consider --no-create
mduigou
parents: 22474
diff changeset
   185
  if test "x$no_create" != "xyes"; then
aa6f400923a9 8034979: Configuration help messages don't consider --no-create
mduigou
parents: 22474
diff changeset
   186
    if test "x$IS_RECONFIGURE" != "xyes"; then
27587
e51da3db3464 8065215: Print warning summary at end of configure
ihse
parents: 27330
diff changeset
   187
      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
   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 updated 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
  else
aa6f400923a9 8034979: Configuration help messages don't consider --no-create
mduigou
parents: 22474
diff changeset
   192
    if test "x$IS_RECONFIGURE" != "xyes"; then
aa6f400923a9 8034979: Configuration help messages don't consider --no-create
mduigou
parents: 22474
diff changeset
   193
      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
   194
    else
27587
e51da3db3464 8065215: Print warning summary at end of configure
ihse
parents: 27330
diff changeset
   195
      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
   196
    fi
aa6f400923a9 8034979: Configuration help messages don't consider --no-create
mduigou
parents: 22474
diff changeset
   197
  fi
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   198
  if test "x$CONFIGURE_COMMAND_LINE" != x; then
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   199
    printf "using configure arguments '$CONFIGURE_COMMAND_LINE'.\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   200
  else
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   201
    printf "using default settings.\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   202
  fi
13132
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   203
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   204
  printf "\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   205
  printf "Configuration summary:\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   206
  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
   207
  printf "* HS debug level: $HOTSPOT_DEBUG_LEVEL\n"
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   208
  printf "* JDK variant:    $JDK_VARIANT\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   209
  printf "* JVM variants:   $with_jvm_variants\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   210
  printf "* OpenJDK target: OS: $OPENJDK_TARGET_OS, CPU architecture: $OPENJDK_TARGET_CPU_ARCH, address length: $OPENJDK_TARGET_CPU_BITS\n"
33926
3a19edba4808 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30417
diff changeset
   211
  printf "* Version string: $VERSION_STRING ($VERSION_SHORT)\n"
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents: 13132
diff changeset
   212
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   213
  printf "\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   214
  printf "Tools summary:\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   215
  if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   216
    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
   217
  fi
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   218
  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
   219
  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
   220
    print_version=" $TOOLCHAIN_VERSION"
5acc0ec03d06 8042707: Source changes needed to build JDK 9 with Visual Studio 2013 (VS2013)
erikj
parents: 27587
diff changeset
   221
  fi
30417
581a2762eef1 8079891: Store configure log in $BUILD/configure.log
ihse
parents: 28901
diff changeset
   222
  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
   223
  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
   224
  printf "* C++ Compiler:   Version $CXX_VERSION_NUMBER (at $CXX)\n"
12258
6ec26f6cc53e 7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff changeset
   225
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   226
  printf "\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   227
  printf "Build performance summary:\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   228
  printf "* Cores to use:   $JOBS\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   229
  printf "* Memory limit:   $MEMORY_SIZE MB\n"
22474
83fec92ec43d 8027584: Disable ccache by default
ihse
parents: 22467
diff changeset
   230
  if test "x$CCACHE_STATUS" != "x"; then
83fec92ec43d 8027584: Disable ccache by default
ihse
parents: 22467
diff changeset
   231
    printf "* ccache status:  $CCACHE_STATUS\n"
83fec92ec43d 8027584: Disable ccache by default
ihse
parents: 22467
diff changeset
   232
  fi
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   233
  printf "\n"
13132
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   234
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   235
  if test "x$BUILDING_MULTIPLE_JVM_VARIANTS" = "xyes"; then
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   236
    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
   237
    printf "will result in longer build times.\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   238
    printf "\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   239
  fi
13132
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   240
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   241
  if test "x$FOUND_ALT_VARIABLES" != "x"; then
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   242
    printf "WARNING: You have old-style ALT_ environment variables set.\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   243
    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
   244
    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
   245
    printf "$FOUND_ALT_VARIABLES\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   246
    printf "\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   247
  fi
13132
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   248
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   249
  if test "x$OUTPUT_DIR_IS_LOCAL" != "xyes"; then
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   250
    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
   251
    printf "This will severely degrade build performance!\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   252
    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
   253
    printf "and run the configure script again from that directory.\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
13132
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   256
22717
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
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   258
    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
   259
    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
   260
    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
   261
    printf "\n"
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 19524
diff changeset
   262
  fi
22717
aa6f400923a9 8034979: Configuration help messages don't consider --no-create
mduigou
parents: 22474
diff changeset
   263
aa6f400923a9 8034979: Configuration help messages don't consider --no-create
mduigou
parents: 22474
diff changeset
   264
  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
   265
    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
   266
    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
   267
    printf "\n"
aa6f400923a9 8034979: Configuration help messages don't consider --no-create
mduigou
parents: 22474
diff changeset
   268
  fi
13132
bd88bb8dd3af 7181504: Update of latest build-infra Makefiles
erikj
parents: 12801
diff changeset
   269
])
27587
e51da3db3464 8065215: Print warning summary at end of configure
ihse
parents: 27330
diff changeset
   270
e51da3db3464 8065215: Print warning summary at end of configure
ihse
parents: 27330
diff changeset
   271
AC_DEFUN_ONCE([HELP_REPEAT_WARNINGS],
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
  # Locate config.log.
581a2762eef1 8079891: Store configure log in $BUILD/configure.log
ihse
parents: 28901
diff changeset
   274
  if test -e "$CONFIGURESUPPORT_OUTPUTDIR/config.log"; then
581a2762eef1 8079891: Store configure log in $BUILD/configure.log
ihse
parents: 28901
diff changeset
   275
    CONFIG_LOG_PATH="$CONFIGURESUPPORT_OUTPUTDIR"
581a2762eef1 8079891: Store configure log in $BUILD/configure.log
ihse
parents: 28901
diff changeset
   276
  elif test -e "./config.log"; then
581a2762eef1 8079891: Store configure log in $BUILD/configure.log
ihse
parents: 28901
diff changeset
   277
    CONFIG_LOG_PATH="."
27587
e51da3db3464 8065215: Print warning summary at end of configure
ihse
parents: 27330
diff changeset
   278
  fi
e51da3db3464 8065215: Print warning summary at end of configure
ihse
parents: 27330
diff changeset
   279
30417
581a2762eef1 8079891: Store configure log in $BUILD/configure.log
ihse
parents: 28901
diff changeset
   280
  if test -e "$CONFIG_LOG_PATH/config.log"; then
581a2762eef1 8079891: Store configure log in $BUILD/configure.log
ihse
parents: 28901
diff changeset
   281
    $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
   282
    if test $? -eq 0; then
581a2762eef1 8079891: Store configure log in $BUILD/configure.log
ihse
parents: 28901
diff changeset
   283
      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
   284
      # 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
   285
      $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
   286
      printf "\n"
581a2762eef1 8079891: Store configure log in $BUILD/configure.log
ihse
parents: 28901
diff changeset
   287
    fi
581a2762eef1 8079891: Store configure log in $BUILD/configure.log
ihse
parents: 28901
diff changeset
   288
  fi
27587
e51da3db3464 8065215: Print warning summary at end of configure
ihse
parents: 27330
diff changeset
   289
])