% perl Configure.pl --help ... ICU Options:
--icuplatform=(platform) Platform name to pass to ICU's runConfigureICU
--icuconfigureargs=(args) Arguments to pass to ICU's configuration script
--icudatadir=(path) Directory to locate ICU's data file(s)
...
(The icudatadir option was already there.)
The first option (icuplatform) lets you specify a "platform" name, which is understood by the runConfigureICU script. Supplying one of these will cause runConfigureICU to be run, instead of just 'configure' (inside of the ICU source), which may fix some of the build problems people are having. As we figure out which options are the appropriate ones for each platform, we can add them to the appropriate config/init/hints files (though this may need to be done in config/gen/icu.pl, after we've decided on the compiler to use--not sure). I didn't want to do this prematurely, as I don't have a clear sense of which platforms are currently having trouble, and I didn't want to risk breaking any that are already working. Here is the list of available "platform" names, as understood by the runConfigureICU script, for reference (the script has a --help option to spit out this list):
AIX4.3xlC Use IBM's xlC on AIX 4.3
AIX4.3xlC_nothreads Use IBM's xlC on AIX 4.3 with no multithreading
AIX4.3VA Use IBM's Visual Age xlC_r compiler on AIX 4.3
ALPHA/LINUXGCC Use GCC on Alpha/Linux systems
ALPHA/LINUXCCC Use Compaq C compiler on Alpha/Linux systems
CygWin Use the GNU C++ compiler on CygWin
FreeBSD Use the GNU C++ compiler on Free BSD
HP-UX11CC Use HP's C++ compiler on HP-UX 11
HP-UX11ACC Use the Advanced C++ compiler on HP-UX 11
LinuxRedHat Use the GNU C++ compiler on Linux
MacOSX Use the GNU C++ compiler on MacOS X (Darwin)
QNX Use QNX's QCC compiler on QNX/Neutrino
SOLARISCC Use Sun's CC compiler on Solaris
SOLARISCC/W4.2 Use Sun's Workshop 4.2 CC compiler on Solaris
SOLARISGCC Use the GNU C++ compiler on Solaris
SOLARISX86 Use Sun's CC compiler on Solaris x86
TRU64V5.1/CXX Use Compaq's cxx compiler on Tru64 (OSF)
zOS Use IBM's cxx compiler on z/OS (os/390)
zOSV1R2 Use IBM's cxx compiler for z/OS 1.2
OS390V2R10 Use IBM's cxx compiler for OS/390 2.10
The second option (icuconfigureargs) lets you specify an alternate set of parameters to pass to the above-mentioned runConfigureICU (or just to 'configure', if a platform name isn't supplied), rather than the default of:
--disable-layout --disable-tests --disable-samples --quiet '--prefix=$cwd/blib' --enable-static --disable-shared --disable-extras '--oldincludedir=$cwd/blib/old' --with-data-packaging=archive
(where $cwd is parrot's source root)
Try removing --disable-shared, or both --disable-shared and --enable-static, if you are having problems building ICU, and we'll see if that helps.
Here's a sample of what using these options might look like:
perl Configure.pl --icuplatform=MacOSX --icuconfigureargs="--disable-layout --disable-tests --disable-samples --quiet '--prefix=/Users/jclites/parrot/blib' --disable-extras '--oldincludedir=/Users/jclites/parrot/blib/old' --with-data-packaging=archive"
(Note: I have single quotes around the path arguments, as an example for cases in which these paths might have spaces in them, though I'm still not sure whether that's sufficient. The path arguments need to be absolute paths.)
Once we've experimentally determined what icuconfigureargs are needed for the platforms which are having problems, we can roll these into our automatic configs.
Please report your results, or supply a patch to the appropriate config script to automatically use the parameters which work for your platform. Also, have a look at icu/readme.html for tips, especially on non-Unix platforms.
JEff
configuring-icu.patch
Description: Binary data