configure.cmd
资源名称:tcpmp.rar [点击查看]
上传用户:wstnjxml
上传日期:2014-04-03
资源大小:7248k
文件大小:7k
源码类别:
Windows CE
开发平台:
C/C++
- /* REXX */
- /* MikMod sound library
- (c) 1998, 1999, 2000, 2001, 2002 Miodrag Vallat and others - see
- file AUTHORS for complete list.
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of
- the License, or (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Library General Public License for more details.
- You should have received a copy of the GNU Library General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- 02111-1307, USA.
- */
- /*==============================================================================
- $Id: configure.cmd,v 1.1.1.1 2004/01/21 01:36:35 raph Exp $
- Configuration script for libmikmod under OS/2
- ==============================================================================*/
- ver_maj=3
- ver_min=1
- ver_micro=10
- ver_beta=''
- ECHO OFF
- CALL main
- ECHO ON
- EXIT
- /*
- *========== Helper functions
- */
- yesno:
- ans=''
- DO WHILE ans=''
- SAY message" [y/n] "
- PULL ans
- ans=SUBSTR(ans,1,1)
- IF ((ans='N')|(ans='Y')) THEN
- DO
- SAY "Invalid answer. Please answer Y or N"
- ans=''
- END
- END
- RETURN ans
- EXIT
- sed:
- IF LINES(fileout) THEN
- DO
- CALL LINEOUT fileout
- ERASE fileout
- END
- CALL LINEOUT fileout,,1
- linecount=0
- DO WHILE LINES(filein)
- line=LINEIN(filein)
- IF linecount=0 THEN
- DO
- arro2=1
- DO WHILE (arro2=0)
- arro1=POS('@',line)
- arro2=0
- IF (arro1=0) THEN arro2=POS('@',line,arro1+1)
- IF (arro2=0) THEN
- DO
- keyword=SUBSTR(line,arro1+1,arro2-arro1-1)
- SELECT
- WHEN keyword='AR' THEN keyword=ar
- WHEN keyword='ARFLAGS' THEN keyword=arflags
- WHEN keyword='CC' THEN keyword=cc
- WHEN keyword='CFLAGS' THEN keyword=cflags
- WHEN keyword='DEFNAME' THEN keyword=defname
- WHEN keyword='DLLNAME' THEN keyword=dllname
- WHEN keyword='DRIVER_OBJ' THEN keyword=driver_obj
- WHEN keyword='DRV_DART' THEN keyword=drv_dart
- WHEN keyword='DRV_OS2' THEN keyword=drv_os2
- WHEN keyword='IMPLIB' THEN keyword=implib
- WHEN keyword='LIB' THEN keyword=lib
- WHEN keyword='LIBMIKMOD_MAJOR_VERSION' THEN keyword=ver_maj
- WHEN keyword='LIBMIKMOD_MICRO_VERSION' THEN keyword=ver_micro
- WHEN keyword='LIBMIKMOD_MINOR_VERSION' THEN keyword=ver_min
- WHEN keyword='LIBNAME' THEN keyword=libname
- WHEN keyword='LIBS' THEN keyword=libs
- WHEN keyword='MAKE' THEN keyword=make
- WHEN keyword='ORULE' THEN keyword=orule
- WHEN keyword='DOES_NOT_HAVE_SIGNED' THEN keyword=''
- OTHERWISE NOP
- END
- line=SUBSTR(line,1,arro1-1)""keyword""SUBSTR(line,arro2+1,LENGTH(line)-arro2)
- END
- END
- /* convert forward slashes to backslashes for Watcom ? */
- IF convert="yes" THEN DO
- IF cc="wcc386" THEN DO
- arro1=1
- DO WHILE arro1=0
- arro1=LASTPOS('/',line)
- IF (arro1=0) THEN
- line=SUBSTR(line,1,arro1-1)""SUBSTR(line,arro1+1,LENGTH(line)-arro1)
- END
- END
- END
- END
- linecount=1
- CALL LINEOUT fileout, line
- END
- CALL LINEOUT fileout
- CALL LINEOUT filein
- RETURN
- main:
- /*
- *========== 1. Check the system and the compiler
- */
- libname="mikmod2.lib"
- dllname="mikmod2.dll"
- defname="mikmod2.def"
- build_dll=0
- lib=libname
- libs=""
- SAY "libmikmod/2 version "ver_maj"."ver_min"."ver_micro""ver_beta" configuration"
- SAY
- /* OS/2
- * - MMPM/2 and DART drivers are available
- */
- /* Don't check for fnmatch() */
- SAY
- SAY "Compiler..."
- SAY "You can compile libmikmod either with emx or with Watcom C. However, due to"
- SAY "the Unix nature of the library, emx is recommended."
- message="Do you want to use the emx compiler (recommended) ?"
- CALL yesno
- IF RESULT='Y' THEN
- DO
- SAY "Configuring for emx..."
- cc="gcc"
- cflags="-O2 -Zomf -Zmt -funroll-loops -ffast-math -fno-strength-reduce -Wall"
- SAY
- SAY "When building with emx, you can choose between building a static library, or"
- SAY "a DLL with an import library."
- message="Do you want to build a DLL (recommended) ?"
- CALL yesno
- IF RESULT='Y' THEN
- DO
- build_dll=1
- cflags=cflags" -Zdll"
- lib=dllname
- END
- ar="emxomfar"
- arflags="cr"
- make="make"
- orule="-o $@ -c"
- implib="emximp"
- END
- ELSE
- DO
- SAY "Configuring for Watcom C..."
- cc="wcc386"
- cflags="-5r -bt=os2 -fp5 -fpi87 -mf -oeatxh -w4 -zp8"
- ar="wlib"
- arflags="-b -c -n"
- make="wmake -ms"
- orule="-fo=$^@"
- implib=""
- END
- /* "Checking" for include files */
- cflags=cflags" -DHAVE_FCNTL_H -DHAVE_LIMITS_H -DHAVE_UNISTD_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_TIME_H"
- /*
- *========== 2. Ask the user for his/her choices
- */
- /* Debug version */
- SAY
- SAY "Debugging..."
- message="Do you want a debug version ?"
- CALL yesno
- IF RESULT='Y' THEN
- DO
- cflags=cflags" -DMIKMOD_DEBUG"
- IF cc="gcc" THEN
- cflags=cflags" -g"
- ELSE IF cc="wcc386" THEN
- cflags=cflags" -d2"
- END
- ELSE
- DO
- IF cc="gcc" THEN
- cflags=cflags" -s -fomit-frame-pointer"
- ELSE IF cc="wcc386" THEN
- cflags=cflags" -d1"
- END
- /* Drivers */
- SAY
- SAY "Drivers..."
- driver_obj=""
- /* MMPM/2 driver */
- SAY "The MMPM/2 drivers will work with any OS/2 version starting from 2.1."
- SAY "If you're not running Warp 4, these drivers are recommended."
- message="Do you want the MMPM/2 drivers ?"
- CALL yesno
- IF RESULT='Y' THEN
- DO
- cflags=cflags" -DDRV_OS2"
- driver_obj=driver_obj" drv_os2.o"
- drv_os2="drv_os2 @106"
- libs="-lmmpm2"
- END
- ELSE
- DO
- drv_os2=""
- END
- /* Dart driver */
- SAY "The DART (Direct Audio Real Time) driver will use less CPU time than the"
- SAY "standard MMPM/2 drivers, but will not work on OS/2 2.1 or 3.0."
- SAY "If you use Warp 4, this driver is recommended."
- message="Do you want the DART driver ?"
- CALL yesno
- IF RESULT='Y' THEN
- DO
- cflags=cflags" -DDRV_DART"
- driver_obj=driver_obj" drv_dart.o"
- drv_dart="drv_dart @105"
- IF libs="" THEN libs="-lmmpm2"
- END
- ELSE
- DO
- drv_dart=""
- END
- /*
- *========== 3. Generate Makefiles
- */
- SAY
- filein ="Makefile.tmpl"
- fileout="..libmikmodMakefile"
- convert="yes"
- CALL sed
- filein ="..includemikmod.h.in"
- fileout="..includemikmod.h"
- convert="no"
- CALL sed
- filein ="..includemikmod.h.in"
- fileout="..includemikmod_build.h"
- convert="no"
- CALL sed
- filein =defname".in"
- fileout="..libmikmod"defname
- convert="no"
- CALL sed
- filein ="Makefile.os2"
- fileout="Make.cmd"
- convert="yes"
- CALL sed
- /*
- *========== 4. Last notes
- */
- SAY
- SAY "Configuration is complete. libmikmod is ready to compile."
- SAY "Just enter 'make' at the command prompt..."
- SAY
- RETURN