+2004-05-30 Keishi Suenaga <s_keishi@mutt.freemail.ne.jp>
+
+ * 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 <ewelsh@ccb.wustl.edu>
* libunimod/load_mod.c (ConvertNote): Bug fix
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=
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=
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=
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=
README.xaw \
README.alsaseq \
README.m2m \
- README.mts
+ README.mts \
+ README.w32
README.xaw \
README.alsaseq \
README.m2m \
- README.mts
+ README.mts \
+ README.w32
subdir = doc/C
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
--- /dev/null
+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\81Apa_win_ds.dll\81Apa_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 )
+<rmfloat.sh>
+-------------------- 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)
README.xaw \
README.alsaseq \
README.m2m \
- README.mts
+ README.mts \
+ README.w32
README.xaw \
README.alsaseq \
README.m2m \
- README.mts
+ README.mts \
+ README.w32
subdir = doc/ja_JP.eucJP
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
--- /dev/null
+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 )
+<rmfloat.sh>
+-------------------- 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)
EXTRA_DIST = \
dllutl.rb \
lspatch.pl \
- readme.txt
+ readme.txt \
+ wcc386_w.sh
EXTRA_DIST = \
dllutl.rb \
lspatch.pl \
- readme.txt
+ readme.txt \
+ wcc386_w.sh
subdir = script
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
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)
--- /dev/null
+#\r
+# "wcc386.exe" wrapper\r
+# Copyright (C) 2004 Keishi Suenaga <s_kesihi@mutt.freemail.ne.jp>\r
+#\r
+# This program is free software; you can redistribute it and/or modify\r
+# it under the terms of the GNU General Public License as published by\r
+# the Free Software Foundation; either version 2 of the License, or\r
+# (at your option) any later version.\r
+#\r
+# This program is distributed in the hope that it will be useful,\r
+# but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
+# GNU General Public License for more details.\r
+#\r
+# You should have received a copy of the GNU General Public License Version 2\r
+# along with this program; if not, write to the Free Software\r
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+#\r
+# 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' -`
+\r
+###############################################################################\r
+# #\r
+# compilelink() parameters foo0 the list of command line #\r
+# fname filename of exe file #\r
+# compileonly do not invoke wlink #\r
+# #\r
+###############################################################################\r
+
+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;