From 04e8f38df1a500f4b2ffeda5a9c7b1f50c19730a Mon Sep 17 00:00:00 2001 From: Keishi Suenaga Date: Fri, 28 May 2004 23:34:22 +0000 Subject: [PATCH] Add Docs about compiling with Mingw, BCC, watcom and VCC command line compiler in MSYS. Modified Files: ChangeLog configure configure.in doc/C/Makefile.am doc/C/Makefile.in doc/ja_JP.eucJP/Makefile.am doc/ja_JP.eucJP/Makefile.in script/Makefile.am script/Makefile.in script/readme.txt Added Files: doc/C/README.w32 doc/ja_JP.eucJP/README.w32 script/wcc386_w.sh --- ChangeLog | 26 +++ configure | 4 +- configure.in | 4 +- doc/C/Makefile.am | 3 +- doc/C/Makefile.in | 3 +- doc/C/README.w32 | 448 ++++++++++++++++++++++++++++++++++++++++++++ doc/ja_JP.eucJP/Makefile.am | 3 +- doc/ja_JP.eucJP/Makefile.in | 3 +- doc/ja_JP.eucJP/README.w32 | 400 +++++++++++++++++++++++++++++++++++++++ script/Makefile.am | 3 +- script/Makefile.in | 3 +- script/readme.txt | 2 +- script/wcc386_w.sh | 167 +++++++++++++++++ 13 files changed, 1058 insertions(+), 11 deletions(-) create mode 100644 doc/C/README.w32 create mode 100644 doc/ja_JP.eucJP/README.w32 create mode 100755 script/wcc386_w.sh diff --git a/ChangeLog b/ChangeLog index 3e71afa3..9a5129ae 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,29 @@ +2004-05-30 Keishi Suenaga + + * configure.in + interface.h.in + interface/Makefile.am + interface/vt100_c.c + libarc/Makefile.am + libunimod/Makefile.am + libunimod/unimod_priv.h + timidity/Makefile.am + timidity/common.c + timidity/gogo_a.c + timidity/sysdep.h + timidity/timidity.c + timidity/version.c + utils/Makefile.am + utils/support.h + utils/tmdy_getopt.h + interface/ncurs_c.c + Can compile OpenWatcom in Msys or Cygwin environment. + added file + doc/README.win32 + doc/ja_jp.eucJP/README-win32 + scripts/wcc386_w.sh + Compile instructions for Mingw, Borland C, Watcom C and Visual C + 2004-05-24 Eric A. Welsh * libunimod/load_mod.c (ConvertNote): Bug fix diff --git a/configure b/configure index 7416c0db..e187c844 100755 --- a/configure +++ b/configure @@ -3893,7 +3893,7 @@ case "$target" in CFLAGS="$CFLAGS -tWM -VM" EXTRADEFS="$EXTRADEFS -D_WINDOWS -DWIN32" ;; - "xwcc386_w "*) + "xwcc386_w.sh "*) WATCOM=yes CFLAGS="$CFLAGS -5s -zk0 -bm -zp=16 -w=4 -D_MSC_VER -D_WINDOWS -DWIN32 -DINCLUDE_WINDOWS_H" WATCOM_LDFLAGS= @@ -3926,7 +3926,7 @@ case "$target" in CFLAGS="$CFLAGS -tWM -VM" EXTRADEFS="$EXTRADEFS -D_WINDOWS -DWIN32" ;; - "xwcc386_w "*) + "xwcc386_w.sh "*) WATCOM=yes CFLAGS="$CFLAGS -5s -zk0 -bm -zp=16 -w=4 -D_MSC_VER -D_WINDOWS -DWIN32 -DINCLUDE_WINDOWS_H" WATCOM_LDFLAGS= diff --git a/configure.in b/configure.in index b5e9b099..33700ad4 100644 --- a/configure.in +++ b/configure.in @@ -228,7 +228,7 @@ case "$target" in CFLAGS="$CFLAGS -tWM -VM" EXTRADEFS="$EXTRADEFS -D_WINDOWS -DWIN32" ;; - "xwcc386_w "*) + "xwcc386_w.sh "*) WATCOM=yes CFLAGS="$CFLAGS -5s -zk0 -bm -zp=16 -w=4 -D_MSC_VER -D_WINDOWS -DWIN32 -DINCLUDE_WINDOWS_H" WATCOM_LDFLAGS= @@ -261,7 +261,7 @@ case "$target" in CFLAGS="$CFLAGS -tWM -VM" EXTRADEFS="$EXTRADEFS -D_WINDOWS -DWIN32" ;; - "xwcc386_w "*) + "xwcc386_w.sh "*) WATCOM=yes CFLAGS="$CFLAGS -5s -zk0 -bm -zp=16 -w=4 -D_MSC_VER -D_WINDOWS -DWIN32 -DINCLUDE_WINDOWS_H" WATCOM_LDFLAGS= diff --git a/doc/C/Makefile.am b/doc/C/Makefile.am index b4b45a5c..bf4a4667 100644 --- a/doc/C/Makefile.am +++ b/doc/C/Makefile.am @@ -30,4 +30,5 @@ EXTRA_DIST = \ README.xaw \ README.alsaseq \ README.m2m \ - README.mts + README.mts \ + README.w32 diff --git a/doc/C/Makefile.in b/doc/C/Makefile.in index fde0dac9..fcc2ba51 100644 --- a/doc/C/Makefile.in +++ b/doc/C/Makefile.in @@ -271,7 +271,8 @@ EXTRA_DIST = \ README.xaw \ README.alsaseq \ README.m2m \ - README.mts + README.mts \ + README.w32 subdir = doc/C ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 diff --git a/doc/C/README.w32 b/doc/C/README.w32 new file mode 100644 index 00000000..7ab2f7c5 --- /dev/null +++ b/doc/C/README.w32 @@ -0,0 +1,448 @@ +How to compile TiMidity++ for Windows + +This file contains fllowing instructions. + +1.Mingw in Msys environment +2.Borland C++ in Msys environment +3.OpenWatcom C++ in Msys environment +4.Visual C++ in Msys environment + + +1.Mingw in Msys environment + +(1)Setup Mingw and MSYS + 1)Setup Mingw(http://sourceforge.net/projects/mingw/) + and MSYS (See MingwWiki(http://mingw.sourceforge.net/MinGWiki/)) + If want to build Japanese version of TiMidity++, + you can use Mingw-JP(http://sourceforge.jp/projects/mingw-jp), + at least windres.exe from Mingw-JP is needed, + and to set windows(not msys) environment valiable CLANG=C-SJIS is recomended. +(2)Setup needed libraries + 2-0)get pexports from Mingw + "pexports" is included in mingw-utils-0.3.tar.gz, get it and extract it. + 2-1)pdcurses + Get pdcurses-2.6.0-2003.07.21-1.exe from Mingw. and extract them. + Move curses.h to include path and libcurses.a libarary path. + 2-2)oggvorbis(http://www.vorbis.com/) + get OggVorbis-win32sdk-1.0.1.zip and extract it. + make export libraries + pexports xxxx.dll >xxxx.def + dlltool --dllname xxxx.dll --input-def xxxx.def --output-lib libxxxx.a + Change include\ogg\os_type.h line 29 as following + (os_types.h) + 29 # if !defined(__GNUC__) || defined(__MINGW32__) + set environment variables in batch file like this. + REM OggVorbis + set PATH=\usr\local\oggvorbis-win32sdk-1.0.1\bin;\usr\local\oggvorbis-win32sdk-1.0.1\lib;%PATH% + set C_INCLUDE_PATH=/usr/local/oggvorbis-win32sdk-1.0.1/include:%C_INCLUDE_PATH + set LD_LIBRARY_PATH=/usr/local/oggvorbis-win32sdk-1.0.1/lib:%LD_LIBRARY_PATH% + + 2-3)gogo no coder(http://www.marinecat.net/mct_top.htm) + get gogo.dll from Gogo no Coder(http://www.marinecat.net/cgi/lcount/count.cgi?page=3112&name=wing311.exe&downex=wing311a.exe) + get gogo.h files from Gogo noCoder source(http://www.marinecat.net/cgi/lcount/count.cgi?page=3111&name=petit311-src.lzh&downex=petit311.lzh) + move gogo.h gogo\include\gogo + move gogo.dll gogo\lib + make export libraries + pexports gogo.dll >gogo.def + dlltool --dllname gogo.dll --input-def gogo.def --output-lib libgogo.a + set environment variables in batch file like this. + REM GOGO + set PATH=\usr\local\gogo\bin;\usr\local\gogo\lib;%PATH% + set C_INCLUDE_PATH=/usr/local/gogo/include:%C_INCLUDE_PATH% + set LD_LIBRARY_PATH=/usr/local/gogo/lib:%LD_LIBRARY_PATH% + 2-4)flac(http://flac.sourceforge.net/) + get flac-1.1.0-win.zip and extract it. + Change include\*\export.h line 23 as following + (export.h) + 23 #if defined(FLAC__NO_DLL) || !defined(_MSC_VER) \ + || !defined(__BORLANDC__) || !defined(__CYGWIN32__) || !defined(__MINGW32__) + set environment variables in batch file like this. + REM FLAC + set PATH=\usr\local\flac-1.1.0-win\bin;;%PATH% + set C_INCLUDE_PATH=/usr/local/flac-1.1.0-win/include:%C_INCLUDE_PATH% + set LD_LIBRARY_PATH=/usr/local/flac-1.1.0-win/bin:%LD_LIBRARY_PATH% + + 2-5)portaudio(http://www.portaudio.com/) + Download and make portaudio v1.18. + (see callasio http://www.audiomulch.com/~rossb/code/calliasio/) + Each portaudio.dll must be renamed pa_asio.dllApa_win_ds.dllApa_win_wmme.dll. + Only portaudo.h is needed for compiling TiMidity++. + + 2-6)portmidi(http://www-2.cs.cmu.edu/~music/portmusic/) + Download portmidi18jun03.zip, extract it and compile it. + Copy porttime.h libporttime.a portmidi.h libportmidi.a to appropriate directories. + +(3)Make TiMidity++ binaries + 3-1)timw32g.exe + (configure) + CFLAGS="-O2" configure --enable-network --enable-w32gui \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio + (make) + make + strip timidity.exe + mv timidity.exe timw32g.exe + 3-2)twsyng.exe + (configure) + CFLAGS="-O2" configure --enable-network --enable-winsyng \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio + (make) + make + strip timidity.exe + mv timidity.exe twsyng.exe + + 3-3)twsynsrv.exe + (configure) + CFLAGS="-O2" configure --enable-network --enable-winsyng \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio + add config.h following line + #define TWSYNSRV 1 + (make) + make + strip timidity.exe + mv timidity.exe twsynsrv.exe + + 3-4)timidity.exe + (configure) + CFLAGS="-O2" configure --enable-interface=ncurses,vt100,winsyn --enable-network \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio + (make) + make + strip timidity.exe + + +2.Borland C++ in Msys environment + +(1)Setup BorlandC and MSYS + 1)Setup BorlandC + Downlod C++Buldercompiler(http://www.borland.com/products/downloads/download_cbuilder.html#) + , read readme.txt and make bcc32.cfg and ilink 32.cfg. + (bcc32.cfg) + -I"C:\Borland\Bcc55\include" + -L"C:\Borland\Bcc55\lib;C:\Borland\Bcc55\lib\PSDK" + -DWINVER=0x0400 + -D_WIN32_WINNT=0x0400 + (ilink32.cfg ) + -L"C:\Borland\Bcc55\lib;C:\Borland\Bcc55\lib\PSDK" + 2)Setup MSYS (See MingwWiki(http://mingw.sourceforge.net/MinGWiki/)) + Remove mingw path from /etc/fstab. + Add fllowing line at the top of Msys.bat and create bcc_env.bat. + call c:\borland\bcc55\bin\bcc_env.bat + bcc_env.bat is like follow ing + @echo off + set PATH=c:\borland\bcc55\bin;%PATH% + + Set INCLUDE=c:\usr\local\pdcurses_bcc\include;%INCLUDE% + ---- + ( setteing of various env. val. s ) + ---- +(2)Setup needed libraries + 2-0-1)implib.exe(to make import library from dll) + implib -a -c xxx.lib xxx.dll + 2-0-2)coff2omf.exe(VCC library to BCC library) + coff2omf xxxx.lib xxx_bcpp.lib. + + 2-1)pdcurses + pdcurses-2.6.0-src.tar.bz2 from Mingw(http://sourceforge.net/project/showfiles.php?group_id=2435) + and make them. + rename pdcurses.lib libpdcurses.lib + Move curses.h to include path. + Add library path in ilink32.cfg + 2-2)oggvorbis(http://www.vorbis.com/) + get OggVorbis-win32sdk-1.0.1.zip and extract it. + set environment variables in batch file like this. + REM OggVorbis + set PATH=\usr\local\oggvorbis-win32sdk-1.0.1\bin;\usr\local\oggvorbis-win32sdk-1.0.1\lib;%PATH% + set C_INCLUDE_PATH=/usr/local/oggvorbis-win32sdk-1.0.1/include:%C_INCLUDE_PATH + Add library path in ilink32.cfg + Only hederfiles are need for compiling TiMidity++ + 2-3)gogo no coder(http://www.marinecat.net/mct_top.htm) + get gogo.dll from Gogo no Coder(http://www.marinecat.net/cgi/lcount/count.cgi?page=3112&name=wing311.exe&downex=wing311a.exe) + get gogo.h files from Gogo no Coder source(http://www.marinecat.net/cgi/lcount/count.cgi?page=3111&name=petit311-src.lzh&downex=petit311.lzh) + move gogo.h gogo\include\gogo + (for timidity gogo.lib is not necessary) + set environment variables in batch file like this. + REM GOGO + set PATH=\usr\local\gogo\bin;\usr\local\gogo\lib;%PATH% + set C_INCLUDE_PATH=/usr/local/gogo/include:%C_INCLUDE_PATH% + Add library path in ilink32.cfg + Only hederfiles are need for TiMidity++ + 2-5)flac(http://flac.sourceforge.net/) + get flac-1.1.0-win.zip and extract it. + Change include\*\export.h line 23 as following + (export.h) + 23 #if defined(FLAC__NO_DLL) || !defined(_MSC_VER) \ + || !defined(__BORLANDC__) || !defined(__CYGWIN32__) || !defined(__MINGW32__) + Change include\FLAC\ordinals.h line 39 as following + 39 #if defined(_MSC_VER) || defined(__BORLANDC__) + set environment variables in batch file like this. + REM FLAC + set PATH=\usr\local\flac-1.1.0-win\bin;;%PATH% + set C_INCLUDE_PATH=/usr/local/flac-1.1.0-win/include:%C_INCLUDE_PATH% + Add library path in ilink32.cfg + 2-6)portaudio(http://www.portaudio.com/) + I don't know how to comple portaudio with bcc commandline tools. + Only portaudio.h is needed for compiling TiMidity++. + 2-7)portmidi(http://www-2.cs.cmu.edu/~music/portmusic/) + I don't know how to comple portaudio with bcc commandline tools. + +(3)Make TiMidity++ binaries + 3-0-1) sed -e s/-o\ /-o/ configure >configure_bc + ( -o xxxx options are not wor with BCC -oxxxx is good.) + 3-0-2)Invoke sh rm_float.sh in timidity/timidity directory. + This removes f , F, l and L after sonst float valude( ex. 123.45f ) + +-------------------- from here ----------------------- +#!/bin/sh + +for foo in `ls *.c` `ls *.h`;do +perl -pe 's/(%[0-9]*\.[0-9]+f)/$1f/g' $foo|perl -pe 's/(\.[0-9]+)f/$1/g' - |perl -pe 's/(\.[0-9]+)F/$1/g' - |perl -pe 's/(\.[0-9]+)l/$1/g' - |perl -pe 's/(\.[0-9]+)L/$1/g' - |perl -pe 's/(0x[0-9a-f]+)l/$1/g' - |perl -pe 's/(0x[0-9a-f]+)L/$1/g' - >$foo.rm +mv $foo.rm $foo +done +-------------------- to here ------------------------- + + 3-1)timw32g.exe + (configure) + CC="bcc32" CPP="cpp32" CFLAGS="" ./configure_bc --enable-w32gui \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio + (make) + make + mv timidity.exe timw32g.exe + 3-2)twsyng.exe + (configure) + CC="bcc32" CPP="cpp32" CFLAGS="" \ + ./configure_bc --enable-network --enable-winsyng \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio + (make) + make + mv timidity.exe twsyng.exe + 3-3)twsynsrv.exe + (configure) + CC="bcc32" CPP="cpp32" CFLAGS=""\ + ./configure_bc --enable-network --enable-winsyng \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio + add config.h following line + #define TWSYNSRV 1 + (make) + make + mv timidity.exe twsynsrv.exe + 3-4)timidity.exe + (configure) + CC="bcc32" CPP="cpp32" CFLAGS="" \ + ./configure_bc --enable-interface=vt100,winsyn,ncurses --enable-network \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio + (make) + make + + +3.OpenWatcom C++ in Msys environment + +(1)OpenWatcom and MSYS + 1)Set OpenWatcom(http://www.openwatcom.org) + 1-1)Download OpenWatcom, install and configure them + 1-2)Download Microsoft Platform SDK install and configure them. + Replace rc.exe of OpenWatom with the one of Platform SDK's one. + (OpenWatcom's rc.exe can't use). + 2)Setup Mngw and MSYS (See MingwWiki(http://mingw.sourceforge.net/MinGWiki/)) + Remove mingw path from /etc/fstab. + Add fllowing line at the top of Msys.bat and create wcc_env.bat. + call wcc_env.bat + wcc_env.bat is like follow ing + @echo off + set LIB= + set INCLUDE= + call i:\watcom\setvars.bat + ---- + ( setteing of various env. val. s ) + ---- +(2)Setup needed libraries(The wcc386 option -5s is recomended !! Because of TiMidity++ compatibility.!!) + 2-0) make import Libray from dll + mlib -n -b out.lib in.dll + 2-1)pdcurses + Get pdcurses-2.5.0 from GnuWin32(http://sourceforge.net/projects/gnuwin32/) + and make import Libraries from dlls. + "libpdcurses.lib" is needed (not pdcurses.lib). + Move curses.h to include path and libpdcurses.lib libarary path. + 2-2)oggvorbis(http://www.vorbis.com/) + Get OggVorbis-win32sdk-1.0.1.zip and extract it. + Make inport Libraries from dll + Set environment variables in batch file like this. + REM OggVorbis + set PATH=\usr\local\oggvorbis-win32sdk-1.0.1_wcc\bin;\usr\local\oggvorbis-win32sdk-1.0.1_wcc\lib;%PATH% + set C_INCLUDE_PATH=/usr/local/oggvorbis-win32sdk-1.0.1_wcc/include:%C_INCLUDE_PATH + set LIB=\usr\local\oggvorbis-win32sdk-1.0.1_wcc\lib:%LIB% + Only *.h files are needed for TiMidity++. + 2-3)gogo no coder(http://www.marinecat.net/mct_top.htm) + Get gogo.dll from Gogo no Coder(http://www.marinecat.net/cgi/lcount/count.cgi?page=3112&name=wing311.exe&downex=wing311a.exe) + Get gogo.h files from Gogo noCoder source(http://www.marinecat.net/cgi/lcount/count.cgi?page=3111&name=petit311-src.lzh&downex=petit311.lzh) + Move gogo.h gogo\include\gogo + (for timidity gogo.lib not necessary) + Set environment variables in batch file like this. + REM GOGO + set PATH=\usr\local\gogo_wcc\bin;\usr\local\gogo_wcc\lib;%PATH% + set C_INCLUDE_PATH=/usr/local/gogo_wcc/include:%C_INCLUDE_PATH% + set LIB=\usr\local\gogo_wcc\lib:%LIB% + Only *.h files are needed for compiling TiMidity++. + 2-5)flac(http://flac.sourceforge.net/) + get flac-1.1.0-win.zip and extract it. + make inport Libraries from dll + set environment variables in batch file like this. + REM FLAC + set PATH=\usr\local\flac-1.1.0-win_wcc\bin;%PATH% + set C_INCLUDE_PATH=/usr/local/flac-1.1.0-win_wcc/include:%C_INCLUDE_PATH% + set LIB=\usr\local\flac-1.1.0-win_wcc\bin:%LIB% + Only *.h files are needed for compiling TiMidity++. + 2-6)portaudio(http://www.portaudio.com/) + I don't know how to comple portaudio with OpenWatcom commandline tools. + Only port audio.h is needed for compling TiMidity++. + 2-7)portmidi(http://www-2.cs.cmu.edu/~music/portmusic/) + I don't know how to comple portmidi with OpenWatcom commandline tools.. + +(3)Make TiMidity++ binaries + 3-0-1)wcc386_w.sh ( it is in scripts/directory ) + Wcc386 is not familier to GNU autoconf tools, + Use my wrapper wcc386_w.sh, instead of wcc386.exe + 3-1)timw32g.exe + (configure) + CC="wcc386_w.sh" CPP="wcc386_w.sh -p" CFLAGS="-d0 -obll+riemcht" \ + ./configure --enable-network --enable-w32gui \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio \ + --disable-oggtest --disable-vorbistest --disable-libFLACtest --disable-libOggFLACtest + ( cl386(except cl) is need for watcom detection in configure script. ) + (make) + make + mv timidity.exe timw32g.exe + 3-2)twsyng.exe + (configure) + CC="wcc386_w.sh" CPP="wcc386_w.sh -p" CFLAGS="-d0 -obll+riemcht" \ + ./configure --enable-network --enable-winsyng \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio \ + --disable-oggtest --disable-vorbistest --disable-libFLACtest --disable-libOggFLACtest + ( cl386(except cl) is need for watcom detection in configure script. ) + (make) + make + mv timidity.exe twsyng.exe + 3-3)twsynsrv.exe + (configure) + CC="wcc386_w.sh" CPP="wcc386_w.sh -p" CFLAGS="-d0 -obll+riemcht" \ + ./configure --enable-network --enable-winsyng \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio \ + --disable-oggtest --disable-vorbistest --disable-libFLACtest --disable-libOggFLACtest + ( cl386(except cl) is need for watcom detection in configure script. ) + add config.h following line + #define TWSYNSRV 1 + (make) + make + mv timidity.exe twsynsrv.exe + + 3-4)timidity.exe + (configure) + CC="wcc386_w.sh" CPP="wcc386_w.sh -p" CFLAGS="-d0 -obll+riemcht" \ + ./configure --enable-interface=ncurses,vt100,winsyn --enable-network \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio \ + --disable-oggtest --disable-vorbistest --disable-libFLACtest --disable-libOggFLACtest + (make) + make + + +4.Visual C++ in Msys environment + +(1)Setup VisualC++ and MSYS + 1)Setup Visual C++ + Download + Microsoft Visual C++ Toolkit 2003 + Microsoft.NET SDK + Microsoft Platform SDK + install and configure them. +======= CAUTION !! =========== +If you plan to distribute TiMidity++ binary, use "Visual C++" or "Visual Studio" not "Microsoft Visual C++ Toolkit 2003". because of LICENCE issue. +============================== + + 2)Setup Mngw and MSYS (See MingwWiki(http://mingw.sourceforge.net/MinGWiki/)) + Remove mingw path from /etc/fstab. + Add fllowing line at the top of Msys.bat and create bcc_env.bat. + call vc_msys_env.bat + vc_msys_env.bat is like follow ing + @echo off + call i:\"Program Files\Microsoft Visual C++ Toolkit 2003"\vcvars32.bat + call i:\"Program Files\Microsoft SDK"\SetEnv.Bat /RETAIL + call i:\"Program Files\Microsoft.NET\SDK\v1.1\bin"\sdkvars.bat + + Set INCLUDE=c:\DXSDK\include;%INCLUDE% + Set LIB=c:\DXSDK\lib;%LIB% + ---- + ( setteing of various env. val. s ) + ---- +(2)Setup needed libraries + 2-1)pdcurses + pdcurses-2.6.0-src.tar.bz2 from Mingw(http://sourceforge.net/project/showfiles.php?group_id=2435) + and make them. + rename pdcurses.lib libpdcurses.lib + move curses.h to include path and libpdcurses.lib libarary path. + 2-2)oggvorbis(http://www.vorbis.com/) + get OggVorbis-win32sdk-1.0.1.zip and extract it. + set environment variables in batch file like this. + REM OggVorbis + set PATH=\usr\local\oggvorbis-win32sdk-1.0.1\bin;\usr\local\oggvorbis-win32sdk-1.0.1\lib;%PATH% + set C_INCLUDE_PATH=/usr/local/oggvorbis-win32sdk-1.0.1/include:%C_INCLUDE_PATH + set LIB=\usr\local\oggvorbis-win32sdk-1.0.1\lib:%LIB% + + 2-3)gogo no coder(http://www.marinecat.net/mct_top.htm) + Get gogo.dll from Gogo no Coder(http://www.marinecat.net/cgi/lcount/count.cgi?page=3112&name=wing311.exe&downex=wing311a.exe) + Get gogo.h files from Gogo noCoder source(http://www.marinecat.net/cgi/lcount/count.cgi?page=3111&name=petit311-src.lzh&downex=petit311.lzh) + Move gogo.h gogo\include\gogo + (for timidity gogo.lib not necessary) + Set environment variables in batch file like this. + REM GOGO + set PATH=\usr\local\gogo\bin;\usr\local\gogo\lib;%PATH% + set C_INCLUDE_PATH=/usr/local/gogo/include:%C_INCLUDE_PATH% + set LIB=\usr\local\gogo\lib:%LIB% + 2-5)flac(http://flac.sourceforge.net/) + Set flac-1.1.0-win.zip and extract it. + Set environment variables in batch file like this. + REM FLAC + set PATH=\usr\local\flac-1.1.0-win\bin;;%PATH% + set C_INCLUDE_PATH=/usr/local/flac-1.1.0-win/include:%C_INCLUDE_PATH% + set LIB=\usr\local\flac-1.1.0-win\bin:%LIB% + 2-6)portaudio(http://www.portaudio.com/). + I don't know how to comple portaudio with vc commandline tools. + But for compling TiMidity++ only port audio.h is needed. + 2-7)portmidi(http://www-2.cs.cmu.edu/~music/portmusic/) + I don't know how to comple portmidi with vc commandline tools.. + +(3)Make TiMidity++ binaries + 3-1)timw32g.exe + (configure) + CC="cl" CPP="cl.exe -EP" CFLAGS="-O2" \ + ./configure --enable-network --enable-w32gui \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio + (make) + make + mv timidity.exe timw32g.exe + 3-2)twsyng.exe + (configure) + CC="cl" CPP="cl.exe -EP" CFLAGS="-O2" \ + ./configure --enable-network --enable-winsyng \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio + (make) + make + mv timidity.exe twsyng.exe + 3-3)twsynsrv.exe + (configure) + CC="cl" CPP="cl.exe -EP" CFLAGS="-O2"\ + ./configure --enable-network --enable-winsyng \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio + add config.h following line + #define TWSYNSRV 1 + (make) + make + mv timidity.exe twsynsrv.exe + 3-4)timidity.exe + (configure) + CC="cl" CPP="cl.exe -EP" CFLAGS="-O2" \ + ./configure --enable-interface=ncurses,vt100,winsyn --enable-network \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio + (make) + make + + +2004.5.28 Keishi Suenaga(skeishi@mutt.freemail.ne.jp) diff --git a/doc/ja_JP.eucJP/Makefile.am b/doc/ja_JP.eucJP/Makefile.am index c7cbb4ae..f72122fe 100644 --- a/doc/ja_JP.eucJP/Makefile.am +++ b/doc/ja_JP.eucJP/Makefile.am @@ -28,4 +28,5 @@ EXTRA_DIST = \ README.xaw \ README.alsaseq \ README.m2m \ - README.mts + README.mts \ + README.w32 diff --git a/doc/ja_JP.eucJP/Makefile.in b/doc/ja_JP.eucJP/Makefile.in index fc882f46..0ebcaf7b 100644 --- a/doc/ja_JP.eucJP/Makefile.in +++ b/doc/ja_JP.eucJP/Makefile.in @@ -269,7 +269,8 @@ EXTRA_DIST = \ README.xaw \ README.alsaseq \ README.m2m \ - README.mts + README.mts \ + README.w32 subdir = doc/ja_JP.eucJP ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 diff --git a/doc/ja_JP.eucJP/README.w32 b/doc/ja_JP.eucJP/README.w32 new file mode 100644 index 00000000..2b7191ee --- /dev/null +++ b/doc/ja_JP.eucJP/README.w32 @@ -0,0 +1,400 @@ +TiMidity++ ¤òWindowsÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ëÊýË¡ + +£±¡¥Msys´Ä¶­²¼¤ÇMingw¤Ç¥³¥ó¥Ñ¥¤¥ë +£²¡¥Msys´Ä¶­²¼¤ÇBoraland C++¤Ç¥³¥ó¥Ñ¥¤¥ë +£³¡¥Msys´Ä¶­²¼¤ÇOpenWatcom¤Ç¥³¥ó¥Ñ¥¤¥ë +£´¡¥Msys´Ä¶­²¼¤ÇVisual C++¤Ç¥³¥ó¥Ñ¥¤¥ë + + +£±¡¥Msys´Ä¶­²¼¤ÇMingw¤Ç¥³¥ó¥Ñ¥¤¥ë +¡Ê£±¡ËMingw¤ÈMSYS¤Î¥»¥Ã¥È¥¢¥Ã¥× + £±¡ËMingw¤ÈMSYS¤Î¥»¥Ã¥È¥¢¥Ã¥×(http://sourceforge.net/projects/mingw/¡¡http://mingw.sourceforge.net/MinGWiki/)) + ÆüËܸìÈǤΥ¤¥ó¥¹¥È¡¼¥ë¤Ë¤ÏMingw-jp(http://sourceforge.jp/projects/mingw-jp)¤ò»È¤¦¤È¤è¤¤¡£ + ¾¯¤Ê¤¯¤È¤â¥ê¥½¡¼¥¹¥³¥ó¥Ñ¥¤¥é¤ÏMingw-jp¤Î¤â¤Î¤Ç¤Ê¤¤¤È¤¤¤±¤Ê¤¤¡£ + ¤³¤Î¥ê¥½¡¼¥¹¥³¥ó¥Ñ¥¤¥é¤ò»È¤¦¤Ë¤ÏWindows¤Î´Ä¶­ÊÑ¿ô¤Ç¡¡CLANG=C-SJIS¡¡¤ÈÀßÄꤷ¤Ê¤¤¤È¤¤¤±¤Ê¤¤¡£¡ÊMSYS¤Î´Ä¶­ÊÑ¿ô¤Ç¤Ï¤À¤á¡Ë +¡Ê£²¡Ë»ÈÍѤµ¤ì¤ë¥é¥¤¥Ö¥é¥êã¤Î¥»¥Ã¥È¥¢¥Ã¥× + £²¡Ý£°¡Ëdll¥Õ¥¡¥¤¥ë¤«¤é¥¤¥ó¥Ý¡¼¥È¥é¥¤¥Ö¥é¥ê¤òºî¤ëÊýË¡ + ¡Êpexports¤Ïmingw-utils-0.3.tar.gz¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¡Ë + pexports xxxx.dll >xxxx.def + dlltool --dllname xxxx.dll --input-def xxxx.def --output-lib libxxxx.a + £²¡Ý£±¡Ëpcurses + "pdcurses-2.6.0-2003.07.21-1.exe"¤òMingw¤Î¥µ¥¤¥È¤«¤é¤È¤Ã¤Æ¤­¤ÆÀßÄꤹ¤ë¡£ + £²¡Ý£²¡Ëoggvorbis(http://www.vorbis.com/) + "OggVorbis-win32sdk-1.0.1.zip¡É¤ò¤È¤Ã¤Æ¤¯¤ë + dll¥Õ¥¡¥¤¥ë¤«¤é¥¤¥ó¥Ý¡¼¥È¥é¥¤¥Ö¥é¥ê¤ò¤Ä¤¯¤ë + include\ogg\os_type.h¤Î£²£¹¹ÔÌܤò½ñ¤­´¹¤¨¤ë + (os_types.h) + 29 # if !defined(__GNUC__) || defined(__MINGW32__) + µ¯Æ°ÍѥХåÁ¥Õ¥¡¥¤¥ë¤Ë¥¨¥ó¥È¥ê¤ò¤Ä¤±¤¿¤¹ + REM OggVorbis + set PATH=\usr\local\oggvorbis-win32sdk-1.0.1\bin;\usr\local\oggvorbis-win32sdk-1.0.1\lib;%PATH% + set C_INCLUDE_PATH=/usr/local/oggvorbis-win32sdk-1.0.1/include:%C_INCLUDE_PATH + set LD_LIBRARY_PATH=/usr/local/oggvorbis-win32sdk-1.0.1/lib:%LD_LIBRARY_PATH% + £²¡Ý£³¡Ë¸á¸å¤Î¥³¡¼¥À¡¼(http://www.marinecat.net/mct_top.htm) + Gogo.dll ¤ò¸á¸å¤Î¥³¡¼¥À¡¼¤«¤égogo.h¤ò¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤«¤é¤È¤ê¤À¤¹¡£ + dll¥Õ¥¡¥¤¥ë¤«¤é¥¤¥ó¥Ý¡¼¥È¥é¥¤¥Ö¥é¥ê¤òºî¤ë¡£ + move gogo.h gogo\include\gogo + move gogo.dll libgogo.a gogo\lib + µ¯Æ°ÍѥХåÁ¥Õ¥¡¥¤¥ë¤Ë¥¨¥ó¥È¥ê¤ò¤Ä¤±¤¿¤¹ + REM GOGO + set PATH=\usr\local\gogo\bin;\usr\local\gogo\lib;%PATH% + set C_INCLUDE_PATH=/usr/local/gogo/include:%C_INCLUDE_PATH% + set LD_LIBRARY_PATH=/usr/local/gogo/lib:%LD_LIBRARY_PATH% + £²¡Ý4¡Ëflac(http://flac.sourceforge.net/) + flac-1.1.0-win.zip¤ò¤È¤Ã¤Æ¤¯¤ë¡£ + Change include\*\export.h¤Î£²£³¹ÔÌܤò¤¹¤Ù¤Æ°Ê²¼¤Î¤è¤¦¤ËÊѹ¹ + (export.h) + 23 #if defined(FLAC__NO_DLL) || !defined(_MSC_VER) \ + || !defined(__BORLANDC__) || !defined(__CYGWIN32__) || !defined(__MINGW32__) + µ¯Æ°ÍѥХåÁ¥Õ¥¡¥¤¥ë¤Ë¥¨¥ó¥È¥ê¤ò¤Ä¤±¤¿¤¹ + REM FLAC + set PATH=\usr\local\flac-1.1.0-win\bin;;%PATH% + set C_INCLUDE_PATH=/usr/local/flac-1.1.0-win/include:%C_INCLUDE_PATH% + set LD_LIBRARY_PATH=/usr/local/flac-1.1.0-win/bin:%LD_LIBRARY_PATH% + £²¡Ý£µ¡Ëportaudio(http://www.portaudio.com/) + portaudio v1.18¤ò¤È¤Ã¤Æ¤­¤Æ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë + asio¤Ë¤Ä¤¤¤Æ¤Ïcallasio¡Êhttp://www.audiomulch.com/~rossb/code/calliasio/)¤ÎHP¤Ë¾ðÊ󤬤¢¤ë¡£ + portaudio.dll¤ò¤½¤ì¤¾¤ìpa_asio.dll¡¢pa_win_ds.dll¡¢pa_win_wmme.dll¤Î¤è¤¦¤Ë̾Á°¤ò¤«¤¨¤È¤¯¡£ + portaudio.h¤µ¤¨¤¢¤ì¤ÐTiMidity++¤Ï¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤ë¡£ + £²¡Ý£¶¡Ëportmidi(http://www-2.cs.cmu.edu/~music/portmusic/) + ¡Ê¤³¤³¤Ç¤Ï»È¤ï¤Ê¤¤¡Ë +¡Ê£³¡ËTiMIdity++¤Î¥³¥ó¥Ñ¥¤¥ë + 3-1)timw32g.exe + (configure) + CFLAGS="-O2" configure --enable-network --enable-w32gui \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio + (make) + make + strip timidity.exe + mv timidity.exe timw32g.exe + 3-2)twsyng.exe + (configure) + CFLAGS="-O2" configure --enable-network --enable-winsyng \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio + (make) + make + strip timidity.exe + mv timidity.exe twsyng.exe + + 3-3)twsynsrv.exe + (configure) + CFLAGS="-O2" configure --enable-network --enable-winsyng \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio + add config.h following line + #define TWSYNSRV 1 + (make) + make + strip timidity.exe + mv timidity.exe twsynsrv.exe + + 3-4)timidity.exe + (configure) + CFLAGS="-O2" configure --enable-interface=ncurses,vt100,winsyn --enable-network \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio + (make) + make + strip timidity.exe + + +£²¡¥Msys´Ä¶­²¼¤ÇBoraland C++¤Ç¥³¥ó¥Ñ¥¤¥ë +¡Ê£±¡ËBorland C¤ÈMSYS¤Î¥»¥Ã¥È¥¢¥Ã¥× + £±¡ËBorlandC¤Î¥»¥Ã¥È¥¢¥Ã¥× + C++Buldercompiler(http://www.borland.com/products/downloads/download_cbuilder.html#)¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¤¯¤ë¡£ + readme.tet¤Ë¤·¤¿¤¬¤Ã¤Æbcc32.cfg ¤Èilink 32.cfg¤ò¤Ä¤¯¤ë + (bcc32.cfg) + -I"C:\Borland\Bcc55\include" + -L"C:\Borland\Bcc55\lib;C:\Borland\Bcc55\lib\PSDK" + -DWINVER=0x0400 + -D_WIN32_WINNT=0x0400 + (ilink32.cfg ) + -L"C:\Borland\Bcc55\lib;C:\Borland\Bcc55\lib\PSDK" + £²¡ËMSYS¤Î¥»¥Ã¥È¥¢¥Ã¥×(http://sourceforge.net/projects/mingw/¡¡http://mingw.sourceforge.net/MinGWiki/)) + "/etc/fstab"¤«¤éMINGW¤Î¥Ñ¥¹¤ÎÀßÄê¤Î¹Ô¤ò¾Ã¤¹ + "msys.bat"¤«¤é"bcc_env.bat"¤ò¸Æ¤Ö¤è¤¦¤Ë¤¹¤ë¡£ + (msys.bat¤ÎÀèƬ¹Ô¡Ë + call c:\borland\bcc55\bin\bcc_env.bat + (bcc_env.bat¤ÎÆâÍÆ¡Ë + @echo off + set PATH=c:\borland\bcc55\bin;%PATH% + + Set INCLUDE=c:\usr\local\pdcurses_bcc\include;%INCLUDE% + ¡Ê³¤¯¡Ë + ---- + +¡Ê£²¡Ë»ÈÍѤµ¤ì¤ë¥é¥¤¥Ö¥é¥êã¤Î¥»¥Ã¥È¥¢¥Ã¥× + £²¡Ý£°¡Ý£±¡Ëdll¥Õ¥¡¥¤¥ë¤«¤é¥¤¥ó¥Ý¡¼¥È¥é¥¤¥Ö¥é¥ê¤òºî¤ëÊýË¡ + implib -a -c xxx.lib xxx.dll + £²¡Ý£°¡Ý£²¡ËVC¤ÎLIB¥Õ¥¡¥¤¥ë¤«¤éBC¤ÎLIB¥Õ¥¡¥¤¥ë¤òºî¤ëÊýË¡ + coff2omf xxxx.lib xxx_bcpp.lib + + £²¡Ý£±¡Ëpcurses + "pdcurses-2.6.0-src.tar.bz2"¤òMingw¤Î¥µ¥¤¥È¤«¤é¤È¤Ã¤Æ¤­¤Æ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¡£ + pccurses.lib¤Ïlibpdcuses.lib¤Ë̾Á°¤òÊѤ¨¤Ê¤¤¤È¤¤¤±¤Ê¤¤¡£ + µ¯Æ°¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë¤Èilink32.cfg¤Ë¥¨¥ó¥È¥ê¤ò½ñ¤­¹þ¤à + £²¡Ý£²¡Ëoggvorbis(http://www.vorbis.com/) + "OggVorbis-win32sdk-1.0.1.zip¡É¤ò¤È¤Ã¤Æ¤¯¤ë + dll¥Õ¥¡¥¤¥ë¤«¤é¥¤¥ó¥Ý¡¼¥È¥é¥¤¥Ö¥é¥ê¤ò¤Ä¤¯¤ë + µ¯Æ°¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë¤Èilink32.cfg¤Ë¥¨¥ó¥È¥ê¤ò½ñ¤­¹þ¤à + £²¡Ý£³¡Ë¸á¸å¤Î¥³¡¼¥À¡¼(http://www.marinecat.net/mct_top.htm) + Gogo.dll ¤ò¸á¸å¤Î¥³¡¼¥À¡¼¤«¤égogo.h¤ò¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤«¤é¤È¤ê¤À¤¹¡£ + dll¥Õ¥¡¥¤¥ë¤«¤é¥¤¥ó¥Ý¡¼¥È¥é¥¤¥Ö¥é¥ê¤òºî¤ë¡£ + move gogo.h gogo\include\gogo + move gogo.dll libgogo.a gogo\lib + µ¯Æ°¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë¤Èilink32.cfg¤Ë¥¨¥ó¥È¥ê¤ò½ñ¤­¹þ¤à + £²¡Ý4¡Ëflac(http://flac.sourceforge.net/) + flac-1.1.0-win.zip¤ò¤È¤Ã¤Æ¤¯¤ë¡£ + Change include\*\export.h¤Î£²£³¹ÔÌܤò¤¹¤Ù¤Æ°Ê²¼¤Î¤è¤¦¤ËÊѹ¹ + (export.h) + 23 #if defined(FLAC__NO_DLL) || !defined(_MSC_VER) \ + || !defined(__BORLANDC__) || !defined(__CYGWIN32__) || !defined(__MINGW32__) + include\FLAC\ordinals.h¤Î£³£¹¹ÔÌܤòÊѹ¹ + 39 #if defined(_MSC_VER) || defined(__BORLANDC__) + µ¯Æ°¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë¤Èilink32.cfg¤Ë¥¨¥ó¥È¥ê¤ò½ñ¤­¹þ¤à + £²¡Ý£µ¡Ëportaudio(http://www.portaudio.com/) + ¥³¥ó¥Ñ¥¤¥ë¤Î»ÅÊý¤Ï¤ï¤«¤é¤Ê¤¤¤¬ + portaudio.h¤µ¤¨¤¢¤ì¤ÐTiMidity++¤Ï¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤ë¡£ + £²¡Ý£¶¡Ëportmidi(http://www-2.cs.cmu.edu/~music/portmusic/) + ¡Ê¤³¤³¤Ç¤Ï»È¤ï¤Ê¤¤¡Ë +¡Ê£³¡ËTiMIdity++¤Î¥³¥ó¥Ñ¥¤¥ë + 3-0-1) sed -e s/-o\ /-o/ configure >configure_bc + (configureÃæ¤Î -o xxxx ¤Ï£Â£Ã£Ã¤¬¼õ¤±ÉÕ¤±¤º -oxxxx ¤Ê¤é¼õ¤±ÉÕ¤±¤ë¤¿¤á) + 3-0-2)rm_float.sh ¤ò timidity/timidity ¥Ç¥£¥ì¥¯¥È¥ê¤ÎÃæ¤Çµ¯Æ°¤¹¤ë¡£ + ¿ôÃÍÄê¿ô¤Î¤¢¤È¤Î f , F, l and L ¤ò¼è¤ê½ü¤¯¥¹¥¯¥ê¥×¥È( 123.45f -> 123.45 ) + +-------------------- from here ----------------------- +#!/bin/sh + +for foo in `ls *.c` `ls *.h`;do +perl -pe 's/(%[0-9]*\.[0-9]+f)/$1f/g' $foo|perl -pe 's/(\.[0-9]+)f/$1/g' - |perl -pe 's/(\.[0-9]+)F/$1/g' - |perl -pe 's/(\.[0-9]+)l/$1/g' - |perl -pe 's/(\.[0-9]+)L/$1/g' - |perl -pe 's/(0x[0-9a-f]+)l/$1/g' - |perl -pe 's/(0x[0-9a-f]+)L/$1/g' - >$foo.rm +mv $foo.rm $foo +done +-------------------- to here ------------------------- + + 3-1)timw32g.exe + (configure) + CC="bcc32" CPP="cpp32" CFLAGS="" ./configure_bc --enable-w32gui \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio + (make) + make + mv timidity.exe timw32g.exe + 3-2)twsyng.exe + (configure) + CC="bcc32" CPP="cpp32" CFLAGS="" \ + ./configure_bc --enable-network --enable-winsyng \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio + (make) + make + mv timidity.exe twsyng.exe + 3-3)twsynsrv.exe + (configure) + CC="bcc32" CPP="cpp32" CFLAGS=""\ + ./configure_bc --enable-network --enable-winsyng \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio + add config.h following line + #define TWSYNSRV 1 + (make) + make + mv timidity.exe twsynsrv.exe + 3-4)timidity.exe + (configure) + CC="bcc32" CPP="cpp32" CFLAGS="" \ + ./configure_bc --enable-interface=vt100,winsyn,ncurses --enable-network \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio + (make) + make + + +£³¡¥Msys´Ä¶­²¼¤ÇOpenWatcom¤Ç¥³¥ó¥Ñ¥¤¥ë +¡Ê£±¡ËOpenWatcom¤ÈMSYS¤Î¥»¥Ã¥È¥¢¥Ã¥× + £±¡ËOpenWatcom¤Î¥»¥Ã¥È¥¢¥Ã¥×(http://www.openwatcom.org) + £±¡Ý£±¡ËOpenWatcom¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¤¯¤ë¡£ + £²¡Ý£±¡ËMicrosoft Platform SDK¤«¤érc.exe¤ò¼è¤Ã¤Æ¤­¤Æ¤µ¤·¤«¤¨¤ë¡£ + ¡ÊOpenWatom¤Îrc.exe¤Ï»È¤¨¤Ê¤¤¡Ë + £²¡ËMSYS¤Î¥»¥Ã¥È¥¢¥Ã¥×(http://sourceforge.net/projects/mingw/¡¡http://mingw.sourceforge.net/MinGWiki/)) + "/etc/fstab"¤«¤éMINGW¤Î¥Ñ¥¹¤ÎÀßÄê¤Î¹Ô¤ò¾Ã¤¹ + "msys.bat"¤«¤é"wcc_env.bat"¤ò¸Æ¤Ö¤è¤¦¤Ë¤¹¤ë¡£ + (msys.bat¤ÎÀèƬ¹Ô¡Ë + call wcc_env.bat + (wcc_env.bat¤ÎÆâÍÆ¡Ë + @echo off + set LIB= + set INCLUDE= + call i:\watcom\setvars.bat + + REM OggVorbis + set PATH=\usr\local\oggvorbis-win32sdk-1.0.1_wcc\bin;\usr\local\oggvorbis-win32sdk-1.0.1_wcc\lib;%PATH% + set C_INCLUDE_PATH=/usr/local/oggvorbis-win32sdk-1.0.1_wcc/include:%C_INCLUDE_PATH + set LIB=\usr\local\oggvorbis-win32sdk-1.0.1_wcc\lib:%LIB% + ¡Ê³¤¯¡Ë + ---- +¡Ê£²¡Ë»ÈÍѤµ¤ì¤ë¥é¥¤¥Ö¥é¥êã¤Î¥»¥Ã¥È¥¢¥Ã¥× + £²¡Ý£°¡Ëdll¥Õ¥¡¥¤¥ë¤«¤é¥¤¥ó¥Ý¡¼¥È¥é¥¤¥Ö¥é¥ê¤òºî¤ëÊýË¡ + mlib -n -b out.lib in.dll + £²¡Ý£±¡Ëpcurses + "pdcurses-2.5.0"¤òGnuWin32(http://sourceforge.net/projects/gnuwin32/)¤Î¥µ¥¤¥È¤«¤é¤È¤Ã¤Æ¤¯¤ë + dll¥Õ¥¡¥¤¥ë¤«¤é¥¤¥ó¥Ý¡¼¥È¥é¥¤¥Ö¥é¥ê¤òºî¤ë¡£ + pccurses.lib¤Ïlibpdcuses.lib¤Ë̾Á°¤òÊѤ¨¤Ê¤¤¤È¤¤¤±¤Ê¤¤¡£ + µ¯Æ°¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë¤Ë¥¨¥ó¥È¥ê¤ò½ñ¤­¹þ¤à + £²¡Ý£²¡Ëoggvorbis(http://www.vorbis.com/) + "OggVorbis-win32sdk-1.0.1.zip¡É¤ò¤È¤Ã¤Æ¤¯¤ë + dll¥Õ¥¡¥¤¥ë¤«¤é¥¤¥ó¥Ý¡¼¥È¥é¥¤¥Ö¥é¥ê¤ò¤Ä¤¯¤ë + µ¯Æ°¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë¤Ë¥¨¥ó¥È¥ê¤ò½ñ¤­¹þ¤à + £²¡Ý£³¡Ë¸á¸å¤Î¥³¡¼¥À¡¼(http://www.marinecat.net/mct_top.htm) + Gogo.dll ¤ò¸á¸å¤Î¥³¡¼¥À¡¼¤«¤égogo.h¤ò¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤«¤é¤È¤ê¤À¤¹¡£ + dll¥Õ¥¡¥¤¥ë¤«¤é¥¤¥ó¥Ý¡¼¥È¥é¥¤¥Ö¥é¥ê¤òºî¤ë¡£ + move gogo.h gogo\include\gogo + move gogo.dll libgogo.a gogo\lib + µ¯Æ°¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë¤Ë¥¨¥ó¥È¥ê¤ò½ñ¤­¹þ¤à + £²¡Ý4¡Ëflac(http://flac.sourceforge.net/) + flac-1.1.0-win.zip¤ò¤È¤Ã¤Æ¤¯¤ë¡£ + Change include\*\export.h¤Î£²£³¹ÔÌܤò¤¹¤Ù¤Æ°Ê²¼¤Î¤è¤¦¤ËÊѹ¹ + (export.h) + 23 #if defined(FLAC__NO_DLL) || !defined(_MSC_VER) \ + || !defined(__BORLANDC__) || !defined(__CYGWIN32__) || !defined(__MINGW32__) + include\FLAC\ordinals.h¤Î£³£¹¹ÔÌܤòÊѹ¹ + 39 #if defined(_MSC_VER) || defined(__BORLANDC__) + dll¥Õ¥¡¥¤¥ë¤«¤é¥¤¥ó¥Ý¡¼¥È¥é¥¤¥Ö¥é¥ê¤ò¤Ä¤¯¤ë + µ¯Æ°¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë¤Ë¥¨¥ó¥È¥ê¤ò½ñ¤­¹þ¤à + £²¡Ý£µ¡Ëportaudio(http://www.portaudio.com/) + ¥³¥ó¥Ñ¥¤¥ë¤Î»ÅÊý¤Ï¤ï¤«¤é¤Ê¤¤¤¬ + portaudio.h¤µ¤¨¤¢¤ì¤ÐTiMidity++¤Ï¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤ë¡£ + £²¡Ý£¶¡Ëportmidi(http://www-2.cs.cmu.edu/~music/portmusic/) + ¡Ê¤³¤³¤Ç¤Ï»È¤ï¤Ê¤¤¡Ë +¡Ê£³¡ËTiMIdity++¤Î¥³¥ó¥Ñ¥¤¥ë + 3-0)wcc386_w.sh ( scripts/¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë ) + Wcc386 ¤ÏGNU¤Îauto Tool¤ÈÃ礬°­¤¤¤Î¤Ç¥é¥Ã¥Ñ¡¼¤ò¤Ä¤¯¤Ã¤¿¡£ + ¥Ñ¥¹¤ÎÄ̤俥ǥ£¥ì¥¯¥È¥ê¤Ë°ÜÆ°¤µ¤»¤Æ¤ª¤¤¤Æ¡£ + wcc386.exe¤Î¤«¤ï¤ê¤Ëwcc386_w.sh¤ò¸Æ¤Ó½Ð¤·¤Æ»È¤¦¡£ + 3-1)timw32g.exe + (configure) + CC="wcc386_w.sh" CPP="wcc386_w.sh -p" CFLAGS="-d0 -obll+riemcht" \ + ./configure --enable-network --enable-w32gui \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio \ + --disable-oggtest --disable-vorbistest --disable-libFLACtest --disable-libOggFLACtest + ( cl386(except cl) is need for watcom detection in configure script. ) + (make) + make + mv timidity.exe timw32g.exe + 3-2)twsyng.exe + (configure) + CC="wcc386_w.sh" CPP="wcc386_w.sh -p" CFLAGS="-d0 -obll+riemcht" \ + ./configure --enable-network --enable-winsyng \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio \ + --disable-oggtest --disable-vorbistest --disable-libFLACtest --disable-libOggFLACtest + ( cl386(except cl) is need for watcom detection in configure script. ) + (make) + make + mv timidity.exe twsyng.exe + 3-3)twsynsrv.exe + (configure) + CC="wcc386_w.sh" CPP="wcc386_w.sh -p" CFLAGS="-d0 -obll+riemcht" \ + ./configure --enable-network --enable-winsyng \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio \ + --disable-oggtest --disable-vorbistest --disable-libFLACtest --disable-libOggFLACtest + ( cl386(except cl) is need for watcom detection in configure script. ) + add config.h following line + #define TWSYNSRV 1 + (make) + make + mv timidity.exe twsynsrv.exe + 3-4)timidity.exe + (configure) + CC="wcc386_w.sh" CPP="wcc386_w.sh -p" CFLAGS="-d0 -obll+riemcht" \ + ./configure --enable-interface=ncurses,vt100,winsyn --enable-network \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio \ + --disable-oggtest --disable-vorbistest --disable-libFLACtest --disable-libOggFLACtest + (make) + make + + +£´¡¥Msys´Ä¶­²¼¤ÇVisual C++¤Ç¥³¥ó¥Ñ¥¤¥ë +¡Ê£±¡ËVisual C++¤ÈMSYS¤Î¥»¥Ã¥È¥¢¥Ã¥× + £±¡ËVisualC++¤Î¥»¥Ã¥È¥¢¥Ã¥× + Microsoft Visual C++ Toolkit 2003 + Microsoft.NET SDK + Microsoft Platform SDK + ¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¡£ +======= CAUTION !! =========== +Microsoft Visual C++ Toolkit 2003¤Ç¥³¥ó¥Ñ¥¤¥ë¤·¤¿¥é¥¤¥Ö¥é¥ê¤Ï¥é¥¤¥»¥ó¥¹¾åÇÛÉۤǤ­¤Ê¤¤¡£ +ÇÛÉÛ¤¹¤ë¥Ð¥¤¥Ê¥ê¤Ï¡¢"Visual C++" ¤« "Visual Studio"¤Çºî¤ëɬÍפ¬¤¢¤ë¡£ +============================== + + £²¡ËMSYS¤Î¥»¥Ã¥È¥¢¥Ã¥×(http://sourceforge.net/projects/mingw/¡¡http://mingw.sourceforge.net/MinGWiki/)) + "/etc/fstab"¤«¤éMINGW¤Î¥Ñ¥¹¤ÎÀßÄê¤Î¹Ô¤ò¾Ã¤¹ + "msys.bat"¤«¤é"vcc_env.bat"¤ò¸Æ¤Ö¤è¤¦¤Ë¤¹¤ë¡£ + (msys.bat¤ÎÀèƬ¹Ô¡Ë + call vcc_env.bat + (vcc_env.bat¤ÎÆâÍÆ¡Ë + @echo off + call i:\"Program Files\Microsoft Visual C++ Toolkit 2003"\vcvars32.bat + call i:\"Program Files\Microsoft SDK"\SetEnv.Bat /RETAIL + call i:\"Program Files\Microsoft.NET\SDK\v1.1\bin"\sdkvars.bat + + Set INCLUDE=c:\DXSDK\include;%INCLUDE% + Set LIB=c:\DXSDK\lib;%LIB% + ¡Ê³¤¯¡Ë + ---- +¡Ê£²¡Ë»ÈÍѤµ¤ì¤ë¥é¥¤¥Ö¥é¥êã¤Î¥»¥Ã¥È¥¢¥Ã¥× + £²¡Ý£±¡Ëpcurses + "pdcurses-2.6.0-src.tar.bz2"¤òMingw¤Î¥µ¥¤¥È¤«¤é¤È¤Ã¤Æ¤­¤Æ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¡£ + pccurses.lib¤Ïlibpdcuses.lib¤Ë̾Á°¤òÊѤ¨¤Ê¤¤¤È¤¤¤±¤Ê¤¤¡£ + µ¯Æ°¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë¤Ë¥¨¥ó¥È¥ê¤ò½ñ¤­¹þ¤à + £²¡Ý£²¡Ëoggvorbis(http://www.vorbis.com/) + "OggVorbis-win32sdk-1.0.1.zip¡É¤ò¤È¤Ã¤Æ¤¯¤ë + µ¯Æ°¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë¤Ë¥¨¥ó¥È¥ê¤ò½ñ¤­¹þ¤à + £²¡Ý£³¡Ë¸á¸å¤Î¥³¡¼¥À¡¼(http://www.marinecat.net/mct_top.htm) + Gogo.dll ¤ò¸á¸å¤Î¥³¡¼¥À¡¼¤«¤égogo.h¤ò¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤«¤é¤È¤ê¤À¤¹¡£ + move gogo.h gogo\include\gogo + move gogo.dll libgogo.a gogo\lib + µ¯Æ°¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë¤Ë¥¨¥ó¥È¥ê¤ò½ñ¤­¹þ¤à + £²¡Ý4¡Ëflac(http://flac.sourceforge.net/) + flac-1.1.0-win.zip¤ò¤È¤Ã¤Æ¤¯¤ë¡£ + Change include\*\export.h¤Î£²£³¹ÔÌܤò¤¹¤Ù¤Æ°Ê²¼¤Î¤è¤¦¤ËÊѹ¹ + (export.h) + 23 #if defined(FLAC__NO_DLL) || !defined(_MSC_VER) \ + || !defined(__BORLANDC__) || !defined(__CYGWIN32__) || !defined(__MINGW32__) + include\FLAC\ordinals.h¤Î£³£¹¹ÔÌܤòÊѹ¹ + 39 #if defined(_MSC_VER) || defined(__BORLANDC__) + µ¯Æ°¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë¤Ë¥¨¥ó¥È¥ê¤ò½ñ¤­¹þ¤à + £²¡Ý£µ¡Ëportaudio(http://www.portaudio.com/) + ¥³¥ó¥Ñ¥¤¥ë¤Î»ÅÊý¤Ï¤ï¤«¤é¤Ê¤¤¤¬ + portaudio.h¤µ¤¨¤¢¤ì¤ÐTiMidity++¤Ï¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤ë¡£ + £²¡Ý£¶¡Ëportmidi(http://www-2.cs.cmu.edu/~music/portmusic/) + ¡Ê¤³¤³¤Ç¤Ï»È¤ï¤Ê¤¤¡Ë +¡Ê£³¡ËTiMIdity++¤Î¥³¥ó¥Ñ¥¤¥ë + 3-1)timw32g.exe + (configure) + CC="cl" CPP="cl.exe -EP" CFLAGS="-O2" \ + ./configure --enable-network --enable-w32gui \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio + (make) + make + mv timidity.exe timw32g.exe + 3-2)twsyng.exe + (configure) + CC="cl" CPP="cl.exe -EP" CFLAGS="-O2" \ + ./configure --enable-network --enable-winsyng \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio + (make) + make + mv timidity.exe twsyng.exe + 3-3)twsynsrv.exe + (configure) + CC="cl" CPP="cl.exe -EP" CFLAGS="-O2"\ + ./configure --enable-network --enable-winsyng \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio + add config.h following line + #define TWSYNSRV 1 + (make) + make + mv timidity.exe twsynsrv.exe + 3-4)timidity.exe + (configure) + CC="cl" CPP="cl.exe -EP" CFLAGS="-O2" \ + ./configure --enable-interface=ncurses,vt100,winsyn --enable-network \ + --enable-audio=w32,vorbis,gogo,ogg,flac,portaudio + (make) + make + + +2004.5.28 Ëö±Ê¡¡·½»Ê(skeishi@mutt.freemail.ne.jp) diff --git a/script/Makefile.am b/script/Makefile.am index 537f8939..ba96d677 100644 --- a/script/Makefile.am +++ b/script/Makefile.am @@ -19,4 +19,5 @@ EXTRA_DIST = \ dllutl.rb \ lspatch.pl \ - readme.txt + readme.txt \ + wcc386_w.sh diff --git a/script/Makefile.in b/script/Makefile.in index e4aee728..2257c64d 100644 --- a/script/Makefile.in +++ b/script/Makefile.in @@ -262,7 +262,8 @@ w_so_libs = @w_so_libs@ EXTRA_DIST = \ dllutl.rb \ lspatch.pl \ - readme.txt + readme.txt \ + wcc386_w.sh subdir = script ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 diff --git a/script/readme.txt b/script/readme.txt index 844463df..486afa4f 100644 --- a/script/readme.txt +++ b/script/readme.txt @@ -1,3 +1,3 @@ dllutl.rb: dynamic import source generator for dll (vorbis, gogo). lspatch.pl: List the entire instrument configuration - +wcc386_w.sh: "OpenWatcom C" wrapper for AutoTools(see doc/*/README.w32) diff --git a/script/wcc386_w.sh b/script/wcc386_w.sh new file mode 100755 index 00000000..722cd514 --- /dev/null +++ b/script/wcc386_w.sh @@ -0,0 +1,167 @@ +# +# "wcc386.exe" wrapper +# Copyright (C) 2004 Keishi Suenaga +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License Version 2 +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# wcc386_w.sh: +# wcc386 wrapper script. +# Make wcc386 to accespt GNU autotools like calls. +# + +#!/bin/sh + +foo0=`echo $@|perl -pe 's/($s)(-O.)($s)/$1 $3/'|perl -pe 's/($s)(-D)($S)/$1-d$3/g' -|perl -pe 's/($s)(-I)($S)/$1-i=$3/g' -|perl -pe 's/\\//\\\\/g' -` + +############################################################################### +# # +# compilelink() parameters foo0 the list of command line # +# fname filename of exe file # +# compileonly do not invoke wlink # +# # +############################################################################### + +compilelink(){ + complist=" " + clist=" " + liblist=" " + objlist=" " + rmobjlist=" " + for foo in $foo0 ;do + case $foo in + *.c) + if test "x$fname" = "x " ;then + fname=`echo $foo|perl -pe 's/(.*)\.c/$1/' -` + fi + clist="$clist $foo" + ;; + *.cpp) + if test "x$fname" = "x " ;then + fname=`echo $foo|perl -pe 's/(.*)\.cpp/$1/' -` + fi + clist="$clist $foo" + ;; + *.obj) + objlist="$objlist file $foo" + rmobjlist="$rmobjlist $foo" + ;; + *.lib) + liblist="$liblist Library $foo" + ;; + *) + complist="$complist $foo" + esac + done + if test "x$clist" != "x "; then + for foo in $clist ; do + if ! wcc386 -zq $foo $complist; then exit -1; fi + bar=`echo $foo|perl -pe 's/(.*)\.c.*/$1/' -`.obj + objlist="$objlist file $bar" + rmobjlist="$rmobjlist $bar" + done + fi + if test "x$compileonly" != xyes; then + if ! wlink op q $objlist $liblist Name "$fname".exe; then exit -1; fi + rm $rmobjlist + fi +} + +case $foo0 in +"") + wcc386 + ;; +*"-p "*|*" -p"*) + if ! wcc386 -zq $foo0; then exit -1; fi + ;; +*"-c "*|*" -c"*) + foo=`echo $foo0|perl -pe 's/-c / /' -|perl -pe 's/ -c$/ /' -` + case $foo0 in + *"-o "*) + bar=`echo $foo|perl -pe 's/-o /-fo=/' -` + if ! wcc386 -zq $bar; then exit -1; fi + ;; + *) + foo0=$foo + compileonly=yes + compilelink + ;; + esac + ;; +*) + case $foo0 in + *"-o "*) + echo $foo0 + bar=" " + found=" " + for foo in $foo0 ;do + case $foo in + -o) + found=yes + ;; + *) + if test "x$found" = xyes; then + fname=`echo $foo|perl -pe 's/(.*)\.exe/$1/' -` + found=no + else + bar="$complist $foo" + fi + ;; + esac + done + foo0=$bar + if test "x$fname" = x; then + echo "wcc386_w Error" + exit -1; + fi + compilelink + ;; + *) + fname=" " + objfname=" " + for foo in $foo0 ;do + case $foo in + *.c) + if test "x$fname" = "x " ;then + fname=`echo $foo|perl -pe 's/(.*)\.c/$1/' -` + fi + ;; + *.cpp) + if test "x$fname" = "x " ;then + fname=`echo $foo|perl -pe 's/(.*)\.cpp/$1/' -` + fi + ;; + *.obj) + if test "x$objfname" = "x " ;then + objfname=`echo $foo|perl -pe 's/(.*)\.obj/$1/' -` + fi + ;; + + *) + esac + done + if test "x$fname" = "x " && test "x$objfname" = "x "; then + echo "wcc386_w Error" + exit -1; + fi + if test "x$fname" = "x "; then + fname=$objfname + fi + compilelink + ;; + esac + ;; +esac + +exit 0; -- 2.11.0