xref: /titanic_51/usr/src/lib/libshell/misc/buildksh93.readme (revision 3e14f97f673e8a630f076077de35afdd43dc1587)
1da2e3ebdSchin#
2da2e3ebdSchin# CDDL HEADER START
3da2e3ebdSchin#
4da2e3ebdSchin# The contents of this file are subject to the terms of the
5da2e3ebdSchin# Common Development and Distribution License (the "License").
6da2e3ebdSchin# You may not use this file except in compliance with the License.
7da2e3ebdSchin#
8da2e3ebdSchin# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9da2e3ebdSchin# or http://www.opensolaris.org/os/licensing.
10da2e3ebdSchin# See the License for the specific language governing permissions
11da2e3ebdSchin# and limitations under the License.
12da2e3ebdSchin#
13da2e3ebdSchin# When distributing Covered Code, include this CDDL HEADER in each
14da2e3ebdSchin# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15da2e3ebdSchin# If applicable, add the following below this CDDL HEADER, with the
16da2e3ebdSchin# fields enclosed by brackets "[]" replaced with your own identifying
17da2e3ebdSchin# information: Portions Copyright [yyyy] [name of copyright owner]
18da2e3ebdSchin#
19da2e3ebdSchin# CDDL HEADER END
207c2fbfb3SApril Chin
21da2e3ebdSchin#
22*3e14f97fSRoger A. Faulkner# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
23da2e3ebdSchin#
24da2e3ebdSchin
25da2e3ebdSchin#
26da2e3ebdSchin# buildksh93.readme
27da2e3ebdSchin#
28da2e3ebdSchin
29da2e3ebdSchin* Intro:
307c2fbfb3SApril Chin"buildksh93.sh" is a small build script used to build the AT&T "ast-ksh"
31da2e3ebdSchinand "ast-open" packages using its native (nmake-based) build system
32da2e3ebdSchinwhich is needed to build the iffe-generated (header) files (each time
3334f9b3eeSRoland Mainzfor { 32bit SPARC, 64bit SPARC, 32bit i386, 64bit AMD64, 32bit S390,
3434f9b3eeSRoland Mainz64bit S390x }) which are moved later to their matching OS/Net build
3534f9b3eeSRoland Mainzdirectories.
3634f9b3eeSRoland Mainz
377c2fbfb3SApril ChinTHIS SCRIPT IS NOT INTENDED FOR NORMAL USAGE.
38da2e3ebdSchin
39da2e3ebdSchin
407c2fbfb3SApril Chin* Note that buildksh93.sh modifies the build behaviour of the AST build
41da2e3ebdSchinsystem, including enforcing C99/XPG6 semantics (which is MANDATORY!!)
42da2e3ebdSchinand feeding additional libraries (like libnsl, libsocket, librt etc.)
43da2e3ebdSchinto the feature look system (called "iffe" (="if feature exists")) to
44da2e3ebdSchinensure all features needed for the Solaris version of ksh93 are
45da2e3ebdSchinproperly found.
46da2e3ebdSchin
47da2e3ebdSchin
48da2e3ebdSchin* Example usage of the script (more information can be found in the
49da2e3ebdSchinscript itself):
50da2e3ebdSchin## Download AT&T ksh93 sources
51*3e14f97fSRoger A. Faulkner$ wget --http-user="I accept www.opensource.org/licenses/cpl" --http-passwd="." 'http://www.research.att.com/sw/download/beta/INIT.2010-03-09.tgz'
52*3e14f97fSRoger A. Faulkner$ wget --http-user="I accept www.opensource.org/licenses/cpl" --http-passwd="." 'http://www.research.att.com/sw/download/beta/ast-ksh.2010-03-09.tgz'
53da2e3ebdSchin
54da2e3ebdSchin## Unpack the sources (32bit SPARC):
557c2fbfb3SApril Chin$ mkdir build_sparc_32bit
567c2fbfb3SApril Chin$ cd build_sparc_32bit
57*3e14f97fSRoger A. Faulkner$ gunzip -c <../INIT.2010-03-09.tgz | tar -xf -
58*3e14f97fSRoger A. Faulkner$ gunzip -c <../ast-ksh.2010-03-09.tgz | tar -xf -
59da2e3ebdSchin
607c2fbfb3SApril Chin## Build ast-ksh for 32bit SPARC
617c2fbfb3SApril Chin# (build other build flags are:
62da2e3ebdSchin#   - "build.solaris.sparc.32bit.suncc" - 32bit SPARC
63da2e3ebdSchin#   - "build.solaris.sparc.64bit.suncc" - 64bit SPARC
64da2e3ebdSchin#   - "build.solaris.i386.32bit.suncc"  - 32bit x86/i386
65da2e3ebdSchin#   - "build.solaris.i386.64bit.suncc"  - 64bit x86/AMD64
667c2fbfb3SApril Chin#   - "build.solaris.s390.32bit.gcc"    - 32bit SystemZ/S390
677c2fbfb3SApril Chin#   - "build.solaris.s390.64bit.gcc"    - 64bit SystemZ/S390x
68da2e3ebdSchin# )
697c2fbfb3SApril Chin$ time nice ksh ../buildksh93.sh "build.solaris.sparc.32bit.suncc" 2>&1 | tee -a buildlog.log
70da2e3ebdSchin
717c2fbfb3SApril Chin## Test ksh93:
727c2fbfb3SApril Chin$ time nice ksh ../buildksh93.sh "testshell" 2>&1 | tee -a buildlog.log
73da2e3ebdSchin
74da2e3ebdSchin## Generated binaries and headers can be found in the arch/$(PLATFORM)/
75da2e3ebdSchin## subdirectory.
76da2e3ebdSchin
77da2e3ebdSchin
78da2e3ebdSchin# EOF.
79