Mercurial > pub > dyncall > dyncall
view configure.rc @ 643:d76a991b7d2a
bump version to 1.5-CURRENT
author | Tassilo Philipp |
---|---|
date | Tue, 06 Dec 2022 23:48:58 +0100 |
parents | a1732b269476 |
children |
line wrap: on
line source
#!/bin/rc #////////////////////////////////////////////////////////////////////////////// # # Copyright (c) 2007-2022 Daniel Adler <dadler@uni-goettingen.de>, # Tassilo Philipp <tphilipp@potion-studios.com> # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above # copyright notice and this permission notice appear in all copies. # # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # #////////////////////////////////////////////////////////////////////////////// # --- configure settings ------------------------------------------------------ PACKAGE=dyncall # --- message helpers ---------------------------------------------------- fn error { echo error: $* exit 1 } fn warning { echo warning: $* } fn info { echo $* } # --- print usage ------------------------------------------------------------- fn usage { echo $PACKAGE' configuration shell-script' echo 'Usage:' echo ' configure [ options ]' echo echo 'Options:' echo ' --help' echo ' -h print this page' #echo #echo ' --target-x86 build for x86 architecture platform' #echo ' --target-x64 build for x64 architecture platform' #echo ' --target-ppc32 build for ppc32 architecture platform' #echo ' --target-arm-arm build for ARM architecture platform (ARM mode)' #echo ' --target-arm-thumb build for ARM architecture platform (THUMB mode)' #echo #echo ' --tool-pcc use Portable C Compiler' #echo #echo ' --asm-xa use Plan9 Assemblers (0a, 1a, 2a, etc.)' echo exit 0 } # --- guess os, arch, ... ------------------------------------------------- CONFIG_OS=() fn guess_os { CONFIG_OS='plan9' info 'guess os '$CONFIG_OS } CONFIG_ARCH=() fn guess_arch { CONFIG_ARCH='x86' switch($cputype) { case 386 CONFIG_ARCH='x86' case amd64 CONFIG_ARCH='x64' case arm CONFIG_ARCH='arm32_arm' case power CONFIG_ARCH='ppc32' case mips CONFIG_ARCH='mips32' case * warning 'unknown architecture '$cputype' - using default (x86)' } info 'guess arch '$CONFIG_ARCH } CONFIG_TOOL=() fn guess_tool { #CONFIG_TOOL=`{grep CC /$objtype/mkfile | sed s/CC.//} CONFIG_TOOL='pcc' info 'guess tool '$CONFIG_TOOL } CONFIG_ASM=() fn guess_asm { CONFIG_ASM=`{grep AS /$objtype/mkfile | sed s/AS.//} info 'guess assembler '$CONFIG_ASM } fn guess { if(~ $#CONFIG_OS 0) { guess_os if(~ $#CONFIG_OS 0) { error 'unsupported operating system '$OS } } if(~ $#CONFIG_ARCH 0) { guess_arch if(~ $#CONFIG_ARCH 0) { error 'unsupported architecture '$ARCH } } if(~ $#CONFIG_TOOL 0) { guess_tool if(~ $#CONFIG_TOOL 0) { error 'no tool' } } if(~ $#CONFIG_ASM 0) { guess_asm if(~ $#CONFIG_ASM 0) { error 'no assembler tool' } } } # --- process arguments ------------------------------------------------------ fn args { while(! ~ $#* 0 && ~ $1 -*) { OPT=$1 shift switch($OPT) { case --help -h usage #case --target-x86 #CONFIG_ARCH='x86' #case --target-x64 #CONFIG_ARCH='x64' #case --target-ppc32 #CONFIG_ARCH='ppc32' #case --target-arm-arm #CONFIG_ARCH='arm32_arm' #case --target-arm-thumb #CONFIG_ARCH='arm32_thumb' #case --tool-pcc #CONFIG_TOOL=pcc #CONFIG_ASM=2a #case --tool-xa #CONFIG_ASM=2a case * warning 'unknown option '$OPT } } } args $* info '* configure package '$PACKAGE guess CONFIG_HOST=$CONFIG_OS BUILD_HOST=$CONFIG_HOST if(! ~ $CONFIG_HOST $CONFIG_OS) { BUILD_HOST=$CONFIG_HOST'_'$CONFIG_OS } CONFFILE=Makefile.config echo '#auto-generated by '$PACKAGE'/configure' >$CONFFILE echo 'CONFIG_PACKAGE='$PACKAGE >>$CONFFILE echo 'CONFIG_HOST='$CONFIG_HOST >>$CONFFILE echo 'CONFIG_OS='$CONFIG_OS >>$CONFFILE echo 'CONFIG_ARCH='$CONFIG_ARCH >>$CONFFILE echo 'CONFIG_TOOL='$CONFIG_TOOL >>$CONFFILE echo 'CONFIG_ASM='$CONFIG_ASM >>$CONFFILE echo '' >>$CONFFILE