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