Changeset 84 for trunk/libjdkmidi/trunk

Show
Ignore:
Timestamp:
08/14/06 21:48:22 (2 years ago)
Author:
jeffk@…
Message:

configure script and magic.mak refactored a bit. More work yet to do for auto-detect stuff, but it is much nicer now and configure command line usage is more like autoconf

Location:
trunk/libjdkmidi/trunk
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • trunk/libjdkmidi/trunk/configure

    r80 r84  
    99 
    1010# parse all long options and set them as variables, allowing command line to override everything 
     11# options are in the form of: 
     12#   --abcd-efghi-jklmn=some_value 
     13# 
     14# and they get transformed via awk into environment vars in the form: 
     15#   magic_ABCD_EFGHI_JKLMN="some_value" 
     16# 
     17# A bunch of variables have default values but can be overriden by the command line 
     18# at the end of this script, all variables with the "magic_" prefix are outputted to the Makefile and the vars.sh 
     19# in the appropriate format. The script file './reconfigure' is created with the current command line parameters 
    1120 
    12 for i in "$@" 
    13 do  
    14    p=$(echo "$i" | sed -E 's/^\-\-(.*)=(.*)/\1="\2"/') 
    15    eval $p 
    16 done 
     21 
     22params=$(( 
     23  for i in "$@" 
     24  do  
     25    echo $i 
     26  done 
     27) | awk -F= '{ gsub("-","_",$1); sub("__","",$1); print "magic_" toupper($1) "=" "\"" $2 "\""; }'; ) 
     28 
     29 
     30eval $params 
    1731 
    1832# setup all defaults: 
     
    2034# directories 
    2135 
    22 magic_PROJECT_TOP_DIR="${PWD}/${relative_dir}" 
    23 magic_PREFIX="${prefix:-${PWD}/install}" 
     36magic_PROJECT_TOP_DIR="${magic_PROJECT_TOP_DIR:-${PWD}/${relative_dir}}" 
     37magic_PREFIX="${magic_PREFIX:-${PWD}/install}" 
    2438magic_INSTALL_DIR="${magic_PREFIX}" 
    2539 
    2640# additional tool specifications 
    27 magic_DOXYGEN="${doxygen}" 
    28 magic_CP=${cp:-cp} 
    29 magic_LN=${ln:-ln} 
    30 magic_RM=${rm:-rm} 
    31 magic_MKDIRS="${mkdirs:-mkdir}" 
    32 magic_MKDIR="${mkdir:-mkdir}" 
    33 magic_VALGRIND="${valgrind:-valgrind}" 
    34 magic_VALGRIND_OPTIONS="${valgrind_options}" 
    35 magic_MAKEFLAGS="${makeflags}" 
    36 magic_INSTALL="${install:-install}" 
     41magic_DOXYGEN="${magic_DOXYGEN}" 
     42magic_CP=${magic_CP:-cp} 
     43magic_LN=${magic_LN:-ln} 
     44magic_RM=${magic_RM:-rm} 
     45magic_MKDIRS="${magic_MKDIRS:-mkdir}" 
     46magic_MKDIR="${magic_MKDIR:-mkdir}" 
     47magic_VALGRIND="${magic_VALGRIND:-valgrind}" 
     48magic_VALGRIND_OPTIONS="${magic_VALGRIND_OPTIONS}" 
     49magic_MAKEFLAGS="${magic_MAKEFLAGS}" 
     50magic_INSTALL="${magic_INSTALL:-install}" 
    3751 
    3852# Target platform definitions 
    3953 
    40 magic_TARGET_PLATFORM_GENERIC="${target_platform_generic}" 
    41 magic_TARGET_PLATFORM_MINGW32="${target_platform_mingw32}" 
    42 magic_TARGET_PLATFORM_CYGWIN="${target_platform_cygwin}" 
    43 magic_TARGET_PLATFORM_LINUX="${target_platform_linux}" 
    44 magic_TARGET_PLATFORM_MACOSX_PPC="${target_platform_macosx_ppc}" 
    45 magic_TARGET_PLATFORM_MACOSX_I386="${target_platform_macosx_i386}" 
    46 magic_TARGET_PLATFORM_MACOSX_UNIVERSAL="${target_platform_macosx_universal}" 
    47 magic_TARGET_USE_AR="${target_use_ar:-1}" 
    48 magic_TARGET_USE_MACOSX_LIBTOOL="${target_use_macosx_libtool:-0}" 
     54magic_TARGET_PLATFORM_GENERIC="${magic_TARGET_PLATFORM_GENERIC}" 
     55magic_TARGET_PLATFORM_MINGW32="${magic_TARGET_PLATFORM_MINGW32}" 
     56magic_TARGET_PLATFORM_CYGWIN="${magic_TARGET_PLATFORM_CYGWIN}" 
     57magic_TARGET_PLATFORM_LINUX="${magic_TARGET_PLATFORM_LINUX}" 
     58magic_TARGET_PLATFORM_MACOSX_PPC="${magic_TARGET_PLATFORM_MACOSX_PPC}" 
     59magic_TARGET_PLATFORM_MACOSX_I386="${magic_TARGET_PLATFORM_MACOSX_I386}" 
     60magic_TARGET_PLATFORM_MACOSX_UNIVERSAL="${magic_TARGET_PLATFORM_MACOSX_UNIVERSAL}" 
     61magic_TARGET_USE_AR="${magic_TARGET_USE_AR:-1}" 
     62magic_TARGET_USE_MACOSX_LIBTOOL="${magic_TARGET_USE_MACOSX_LIBTOOL:-0}" 
    4963 
    50 magic_TARGET_MACOSX_SDK="${target_macosx_sdk:-/Developer/SDKs/MacOSX10.4u.sdk}" 
     64magic_TARGET_MACOSX_SDK="${magic_TARGET_MACOSX_SDK:-/Developer/SDKs/MacOSX10.4u.sdk}" 
    5165 
    5266# Target compile options 
    5367 
    54 magic_DEBUG="${debug}" 
    55 magic_PROFILE="${profile}" 
    56 magic_OPTIMIZE="${optimize}" 
    57 magic_WARNINGS="${warnings}" 
    58 magic_AUTODEPEND="${autodepend}" 
    59 magic_DEFINES="${defines}" 
     68magic_DEBUG="${magic_DEBUG}" 
     69magic_PROFILE="${magic_PROFILE}" 
     70magic_OPTIMIZE="${magic_OPTIMIZE}" 
     71magic_WARNINGS="${magic_WARNINGS}" 
     72magic_AUTODEPEND="${magic_AUTODEPEND}" 
     73magic_DEFINES="${magic_DEFINES}" 
     74magic_INCLUDES="${magic_INCLUDES}" 
    6075 
    6176# Target compiler specifications 
    62 magic_CC="${cc:-${compiler_prefix}gcc}" 
    63 magic_CXX="${cxx:-${compiler_prefix}g++}" 
    64 magic_NM="${nm:-${compiler_prefix}nm}" 
    65 magic_AR="${ar:-${compiler_prefix}ar}" 
    66 magic_RANLIB="${ranlib:-${compiler_prefix}ranlib}" 
    67 magic_LD="${ld:-${compiler_prefix}ld}" 
    68 magic_AS="${as:-${compiler_prefix}as}" 
    69 magic_STRIP="${strip:-${compiler_prefix}strip}" 
    70 magic_STRINGS="${strings:-${compiler_prefix}strings}" 
    71 magic_WINDRES="${windres:-${compiler_prefix}windres}" 
    72 magic_OBJDUMP="${objdump:-${compiler_prefix}objdump}" 
    73 magic_DLLTOOL="${dlltool:-${compiler_prefix}dlltool}" 
    74 magic_DLLWRAP="${dllwrap:-${compiler_prefix}dllwrap}" 
    75 magic_LDFLAGS="${ldflags}" 
    76 magic_CXXFLAGS="${cxxflags}" 
    77 magic_CFLAGS="${cflags}" 
    78 magic_MFLAGS="${mflags}" 
    79 magic_MMFLAGS="${mmflags}" 
    80 magic_LDLIBS="${ldlibs}" 
     77magic_CC="${magic_CC:-${magic_COMPILER_PREFIX}gcc}" 
     78magic_CXX="${magic_CXX:-${magic_COMPILER_PREFIX}g++}" 
     79magic_NM="${magic_NM:-${magic_COMPILER_PREFIX}nm}" 
     80magic_AR="${magic_AR:-${magic_COMPILER_PREFIX}ar}" 
     81magic_ARFLAGS="${magic_ARFLAGS:-rv}" 
     82magic_RANLIB="${magic_RANLIB:-${magic_COMPILER_PREFIX}ranlib}" 
     83magic_LD="${magic_LD:-${magic_COMPILER_PREFIX}ld}" 
     84magic_AS="${magic_AS:-${magic_COMPILER_PREFIX}as}" 
     85magic_STRIP="${magic_STRIP:-${magic_COMPILER_PREFIX}strip}" 
     86magic_STRINGS="${magic_STRINGS:-${magic_COMPILER_PREFIX}strings}" 
     87magic_WINDRES="${magic_WINDRES:-${magic_COMPILER_PREFIX}windres}" 
     88magic_OBJDUMP="${magic_OBJDUMP:-${magic_COMPILER_PREFIX}objdump}" 
     89magic_DLLTOOL="${magic_DLLTOOL:-${magic_COMPILER_PREFIX}dlltool}" 
     90magic_DLLWRAP="${magic_DLLWRAP:-${magic_COMPILER_PREFIX}dllwrap}" 
     91magic_LDFLAGS="${magic_LDFLAGS}" 
     92magic_CXXFLAGS="${magic_CXXFLAGS}" 
     93magic_CFLAGS="${magic_CFLAGS}" 
     94magic_MFLAGS="${magic_MFLAGS}" 
     95magic_MMFLAGS="${magic_MMFLAGS}" 
     96magic_LDLIBS="${magic_LDLIBS}" 
    8197 
    8298# Host platform specifications 
    8399 
    84 magic_HOST_PLATFORM_GENERIC="${host_platform_generic}" 
    85 magic_HOST_PLATFORM_MINGW32="${host_platform_mingw32}" 
    86 magic_HOST_PLATFORM_CYGWIN="${host_platform_cygwin}" 
    87 magic_HOST_PLATFORM_LINUX="${host_platform_linux}" 
    88 magic_HOST_PLATFORM_MACOSX_PPC="${host_platform_macosx_ppc}" 
    89 magic_HOST_PLATFORM_MACOSX_I386="${host_platform_macosx_i386}" 
    90 magic_HOST_PLATFORM_MACOSX_UNIVERSAL="${host_platform_macosx_universal}" 
    91 magic_HOST_USE_AR="${host_use_ar:-1}" 
    92 magic_HOST_USE_MACOSX_LIBTOOL="${host_use_macosx_libtool:-0}" 
    93 magic_HOST_MACOSX_SDK="${host_macosx_sdk:-/Developer/SDKs/MacOSX10.4u.sdk}" 
     100magic_HOST_PLATFORM_GENERIC="${magic_HOST_PLATFORM_GENERIC}" 
     101magic_HOST_PLATFORM_MINGW32="${magic_HOST_PLATFORM_MINGW32}" 
     102magic_HOST_PLATFORM_CYGWIN="${magic_HOST_PLATFORM_CYGWIN}" 
     103magic_HOST_PLATFORM_LINUX="${magic_HOST_PLATFORM_LINUX}" 
     104magic_HOST_PLATFORM_MACOSX_PPC="${magic_HOST_PLATFORM_MACOSX_PPC}" 
     105magic_HOST_PLATFORM_MACOSX_I386="${magic_HOST_PLATFORM_MACOSX_I386}" 
     106magic_HOST_PLATFORM_MACOSX_UNIVERSAL="${magic_HOST_PLATFORM_MACOSX_UNIVERSAL}" 
     107magic_HOST_USE_AR="${magic_HOST_USE_AR:-1}" 
     108magic_HOST_USE_MACOSX_LIBTOOL="${magic_HOST_USE_MACOSX_LIBTOOL:-0}" 
     109magic_HOST_MACOSX_SDK="${magic_HOST_MACOSX_SDK:-/Developer/SDKs/MacOSX10.4u.sdk}" 
    94110 
    95111# Native compiler specifications 
    96112 
    97 magic_CROSS_COMPILING="${cross_compiling:-0}" 
    98 magic_NATIVE_CC="${cc:-${native_compiler_prefix}gcc}" 
    99 magic_NATIVE_CXX="${cxx:-${native_compiler_prefix}g++}" 
    100 magic_NATIVE_NM="${nm:-${native_compiler_prefix}nm}" 
    101 magic_NATIVE_AR="${ar:-${native_compiler_prefix}ar}" 
    102 magic_NATIVE_RANLIB="${ranlib:-${native_compiler_prefix}ranlib}" 
    103 magic_NATIVE_LD="${LD:-${native_compiler_prefix}g++}" 
    104 magic_NATIVE_AS="${AS:-${native_compiler_prefix}as}" 
    105 magic_NATIVE_STRIP="${strip:-${native_compiler_prefix}strip}" 
    106 magic_NATIVE_STRINGS="${strings:-${native_compiler_prefix}strings}" 
    107 magic_NATIVE_WINDRES="${windres:-${native_compiler_prefix}windres}" 
    108 magic_NATIVE_OBJDUMP="${objdump:-${native_compiler_prefix}objdump}" 
    109 magic_NATIVE_DLLTOOL="${dlltool:-${native_compiler_prefix}dlltool}" 
    110 magic_NATIVE_DLLWRAP="${dllwrap:-${native_compiler_prefix}dllwrap}" 
    111 magic_NATIVE_LDFLAGS="${native_ldflags}" 
    112 magic_NATIVE_CXXFLAGS="${native_cxxflags}" 
    113 magic_NATIVE_MFLAGS="${native_mflags}" 
    114 magic_NATIVE_MMFLAGS="${native_mmflags}" 
    115 magic_NATIVE_CFLAGS="${native_cflags}" 
    116 magic_NATIVE_LDLIBS="${native_ldlibs}" 
    117 magic_NATIVE_DEBUG="${native_debug}" 
    118 magic_NATIVE_PROFILE="${native_profile}" 
     113magic_CROSS_COMPILING="${magic_CROSS_COMPILING:-0}" 
     114magic_NATIVE_COMPILER_PREFIX="${magic_NATIVE_COMPILER_PREFIX:-}" 
     115magic_NATIVE_CC="${magic_NATIVE_CC:-${magic_NATIVE_COMPILER_PREFIX}gcc}" 
     116magic_NATIVE_CXX="${magic_NATIVE_CXX:-${magic_NATIVE_COMPILER_PREFIX}g++}" 
     117magic_NATIVE_NM="${magic_NATIVE_NM:-${magic_NATIVE_COMPILER_PREFIX}nm}" 
     118magic_NATIVE_AR="${magic_NATIVE_AR:-${magic_NATIVE_COMPILER_PREFIX}ar}" 
     119magic_NATIVE_ARFLAGS="${magic_NATIVE_ARFLAGS:-rv}" 
     120magic_NATIVE_RANLIB="${magic_NATIVE_RANLIB:-${magic_NATIVE_COMPILER_PREFIX}ranlib}" 
     121magic_NATIVE_LD="${magic_NATIVE_LD:-${magic_NATIVE_COMPILER_PREFIX}g++}" 
     122magic_NATIVE_AS="${magic_NATIVE_AS:-${magic_NATIVE_COMPILER_PREFIX}as}" 
     123magic_NATIVE_STRIP="${magic_NATIVE_STRIP:-${magic_NATIVE_COMPILER_PREFIX}strip}" 
     124magic_NATIVE_STRINGS="${magic_NATIVE_STRINGS:-${magic_NATIVE_COMPILER_PREFIX}strings}" 
     125magic_NATIVE_WINDRES="${magic_NATIVE_WINDRES:-${magic_NATIVE_COMPILER_PREFIX}windres}" 
     126magic_NATIVE_OBJDUMP="${magic_NATIVE_OBJDUMP:-${magic_NATIVE_COMPILER_PREFIX}objdump}" 
     127magic_NATIVE_DLLTOOL="${magic_NATIVE_DLLTOOL:-${magic_NATIVE_COMPILER_PREFIX}dlltool}" 
     128magic_NATIVE_DLLWRAP="${magic_NATIVE_DLLWRAP:-${magic_NATIVE_COMPILER_PREFIX}dllwrap}" 
     129magic_NATIVE_LDFLAGS="${magic_NATIVE_LDFLAGS}" 
     130MAGIC_NATIVE_CXXFLAGS="${magic_NATIVE_CXXFLAGS}" 
     131magic_NATIVE_MFLAGS="${magic_NATIVE_MFLAGS}" 
     132MAGIC_NATIVE_MMFLAGS="${magic_NATIVE_MMFLAGS}" 
     133magic_NATIVE_CFLAGS="${magic_NATIVE_CFLAGS}" 
     134MAGIC_NATIVE_LDLIBS="${magic_NATIVE_LDLIBS}" 
     135magic_NATIVE_DEBUG="${magic_NATIVE_DEBUG}" 
     136MAGIC_NATIVE_PROFILE="${magic_NATIVE_PROFILE}" 
    119137 
    120138 
    121 set | grep magic_ | sed -E 's/^magic_(.*)=(.*)/\1="${\1:-\2}"/' >vars.sh 
     139# extract all environment vars with the "magic_" prefix and save them in vars.sh and Makefile in the appropriate form: 
    122140 
    123 set | grep magic_ | sed -E 's/^magic_(.*)=(.*)/\1=\2/' >Makefile 
     141set | grep '^magic_' | awk -F= '{ sub("magic_","",$1); print $1 "=\"" $2 "\"" }' >vars.sh 
     142echo ". \"${magic_PROJECT_TOP_DIR}/project.sh\"" >>vars.sh 
     143set | grep '^magic_' | awk -F= '{ sub("magic_","",$1); print $1 "=" $2 }' >Makefile 
     144 
    124145echo 'include $(PROJECT_TOP_DIR)/project.mak' >>Makefile 
    125146echo 'include $(PROJECT_TOP_DIR)/magic.mak' >>Makefile 
    126147 
    127 echo "$0 $@" >./reconfigure 
     148if [ -f ./reconfigure ]; then 
     149 mv ./reconfigure ./reconfigure-old 
     150fi 
     151echo "$0 $@ " '$@' >./reconfigure 
    128152chmod +x ./reconfigure 
    129153 
  • trunk/libjdkmidi/trunk/magic.mak

    r80 r84  
    1111 
    1212LIBS+= 
    13 LIB_DIRS+=$(addprefix $(PROJECT_TOP_DIR)/,$(LIBS)) 
     13LIB_DIRS+= 
     14LIB_SRC_DIR=$(LIB_DIRS) 
     15 
    1416 
    1517TARGET_PLATFORM_GENERIC=1 
     
    591593   @echo "LINK_FLAGS: $(LINK_FLAGS)" 
    592594   @echo "LDLIBS: $(LDLIBS)" 
    593    @echo "OUTPUT_LIB: $(OUTPUT_LIB)" 
     595   @echo "OUTPUT_LIB: $(OUTPUT_LIB)"    
     596   @echo "LIB_INCLUDE_DIR: $(LIB_INCLUDE_DIR)" 
    594597   @echo "LIB_SRC_DIR: $(LIB_SRC_DIR)" 
    595598   @echo "LIB_TESTS_DIR: $(LIB_TESTS_DIR)" 
  • trunk/libjdkmidi/trunk/project.mak

    r80 r84  
    66PROJECT_LICENSE='GPL' 
    77 
    8 LIBS+=. 
     8LIB_DIRS+=$(PROJECT_TOP_DIR) 
    99 
    1010DEFINES_MINGW32+=