2004-08-01 22:07:40 +00:00
|
|
|
Message-ID: <40D5E4A4.4080305@starpower.net>
|
|
|
|
From: "Mark J. Fine" <fineware@starpower.net>
|
|
|
|
Subject: [Hamlib-developer] Building under Cygwin for Windows (Mingw32)
|
|
|
|
List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum=hamlib-developer>
|
|
|
|
Date: Sun, 20 Jun 2004 15:25:24 -0400
|
2004-08-17 20:49:21 +00:00
|
|
|
<revised by mjf 10 August, 2004>
|
2004-08-01 22:07:40 +00:00
|
|
|
|
|
|
|
|
|
|
|
Found this to be helpful for building hamlib under Cygwin/Mingw32 for
|
|
|
|
linking with Windows apps:
|
|
|
|
|
2004-08-17 20:49:21 +00:00
|
|
|
1. To create the dlls, do the following from within Cygwin (assumes
|
2004-08-01 22:07:40 +00:00
|
|
|
Cygwin is fully updated):
|
|
|
|
|
2004-08-17 20:49:21 +00:00
|
|
|
Modify ./configure.ac to put all of the AC_CONFIG_FILES parameters all
|
2004-08-01 22:07:40 +00:00
|
|
|
on one line, i.e.:
|
2004-08-17 20:49:21 +00:00
|
|
|
AC_CONFIG_FILES([Makefile macros/Makefile include/Makefile
|
|
|
|
lib/Makefile dummy/Makefile yaesu/Makefile icom/Makefile aor/Makefile
|
|
|
|
kenwood/Makefile winradio/Makefile pcr/Makefile alinco/Makefile
|
|
|
|
uniden/Makefile tentec/Makefile kachina/Makefile jrc/Makefile
|
|
|
|
drake/Makefile lowe/Makefile rft/Makefile kit/Makefile tapr/Makefile
|
|
|
|
gnuradio/Makefile easycomm/Makefile fodtrack/Makefile sartek/Makefile
|
|
|
|
rpcrig/Makefile rpcrot/Makefile src/Makefile c++/Makefile
|
|
|
|
bindings/Makefile bindings/hamlibvb.bas tests/Makefile doc/Makefile
|
|
|
|
doc/hamlib.cfg rotorez/Makefile microtune/Makefile flexradio/Makefile
|
|
|
|
hamlib.pc hamlib.spec])
|
2004-08-01 22:07:40 +00:00
|
|
|
For some reason Cygwin doesn't like it.
|
|
|
|
|
|
|
|
# export CC="gcc -mno-cygwin"
|
|
|
|
# export CXX="g++ -mno-cygwin"
|
2004-08-17 20:49:21 +00:00
|
|
|
# ./autogen.sh --prefix=/usr/local --disable-static \
|
|
|
|
--without-rpc-backends --without-tcl-binding --without-perl-binding \
|
|
|
|
--without-python-binding --build=i686-pc-cygwin --host=i686-pc-mingw32 \
|
2004-08-01 22:07:40 +00:00
|
|
|
--target=i686-pc-mingw32
|
|
|
|
Note: on subsequent runs you can replace ./autogen.sh with ./configure
|
2004-08-17 20:49:21 +00:00
|
|
|
unless there are modifications to any .ac, .m4, or Makefile.am file.
|
|
|
|
In that case, "make clean", and re-run autogen as above.
|
2004-08-01 22:07:40 +00:00
|
|
|
|
|
|
|
# make
|
|
|
|
|
2004-08-17 20:49:21 +00:00
|
|
|
Don't run "make install" if you've already made a native Cygwin version
|
|
|
|
of hamlib, since it will screw up the pkgconfig for Cygwin linking. In
|
|
|
|
fact, it's best to have one tree for native Cygwin and another tree for
|
|
|
|
cross-compiling so you can avoid overwriting any created object files or
|
|
|
|
libraries.
|
2004-08-01 22:07:40 +00:00
|
|
|
|
2004-08-17 20:49:21 +00:00
|
|
|
Instead of "make install", manually go through all of the .libs and copy
|
|
|
|
the resulting .exes and .dlls in to a single directory, or create a script
|
|
|
|
to do it for you. Likewise, copy the .h files in include/hamlib into this
|
|
|
|
same directory.
|
2004-08-01 22:07:40 +00:00
|
|
|
|
|
|
|
Go to the directory you've just put all that stuff in and run:
|
|
|
|
# strip *.dll
|
|
|
|
# strip *.exe
|
|
|
|
This will make the resulting images smaller.
|
|
|
|
|
2004-08-17 20:49:21 +00:00
|
|
|
2. To create a MSVC-compatible interface library, do the following in a
|
2004-08-01 22:07:40 +00:00
|
|
|
Windows command window from the directory where you put all that stuff:
|
|
|
|
|
|
|
|
> lib /def:libhamlib.def /machine:IX86 /name:libhamlib-1-2-2cvs-2
|
|
|
|
|
|
|
|
This will create libhamlib.lib and libhamlib.exp.
|
|
|
|
|
2004-08-17 20:49:21 +00:00
|
|
|
REM: Using the (free) Microsoft Visual C++ Toolkit 2003, replace
|
|
|
|
the "lib" command by "link /lib".
|
|
|
|
|
|
|
|
libhamlib.lib and the .h includes from include/hamlib can now be used
|
|
|
|
within any MSVC build (i.e., dream), but all the dlls must be put in the
|
|
|
|
same directory or in PATH as the resulting .exe otherwise it won't find it.
|
|
|
|
|
2004-08-01 22:07:40 +00:00
|
|
|
|
|
|
|
--
|
|
|
|
|
|
|
|
Mark J. Fine
|
|
|
|
Remington, Virginia, USA
|