We've launched our new site at www.openlighting.org. This wiki will remain and be updated with more technical information.
Difference between revisions of "Libartnet on Windows"
From wiki.openlighting.org
Line 6: | Line 6: | ||
you'll need msys, mingw and autotools installed. | you'll need msys, mingw and autotools installed. | ||
− | o autoconf | + | o autoconf [http://ftp.gnu.org/gnu/autoconf/] |
− | o automake | + | o automake [http://ftp.gnu.org/gnu/automake/] |
− | o libtool | + | o libtool [http://ftp.gnu.org/gnu/libtool/] |
+ | |||
+ | * Unpack autoconf, automake and libtool to a directory of your choice. | ||
+ | |||
+ | * Install them with the 3 with the following command: | ||
+ | |||
+ | ../path/to/configure --prefix=/mingw && make && make install | ||
+ | |||
+ | As all the libraries will be installed in /mingw, PKG_CONFIG_PATH must be set. | ||
+ | |||
+ | Open the file /etc/profile (C:\msys\1.0\etc\profile) with your favorite editor (make sure it uses LF line endings) and add: | ||
+ | |||
+ | PKG_CONFIG_PATH="/mingw/lib/pkgconfig" | ||
+ | |||
+ | You might also want to set CFLAGS. Safe options for MinGW are: | ||
+ | |||
+ | CFLAGS="-pipe -O2 -mms-bitfields -march=i686" | ||
+ | |||
+ | just before | ||
+ | |||
+ | export HOME LOGNAME MSYSTEM HISTFILE | ||
+ | |||
+ | and modify that line by adding the variables: | ||
+ | |||
+ | export HOME LOGNAME MSYSTEM HISTFILE CFLAGS PKG_CONFIG_PATH | ||
+ | |||
+ | Now restart MSYS. You should now be able to use MSYS without problems. | ||
+ | |||
+ | (taken from http://www.mingw.org/wiki/msys) | ||
+ | |||
This is the biggest part of the job. | This is the biggest part of the job. | ||
Line 21: | Line 50: | ||
== CHECK == | == CHECK == | ||
− | + | check that AC_LIBTOOL_WIN32_DLL macro is present in libartnet/configure.in | |
+ | |||
− | add AC_LIBTOOL_WIN32_DLL macro before AC_PROG_LIBTOOL | + | if not, add AC_LIBTOOL_WIN32_DLL macro before AC_PROG_LIBTOOL |
Line 45: | Line 75: | ||
libartnet_la_LDFLAGS = -no-undefined -liphlpapi -lnetapi32 -lcap -lws2_32 -ldpnet -version-info 1:0:0 | libartnet_la_LDFLAGS = -no-undefined -liphlpapi -lnetapi32 -lcap -lws2_32 -ldpnet -version-info 1:0:0 | ||
+ | |||
+ | or | ||
+ | |||
+ | if USING_WIN32 | ||
+ | libartnet_la_LDFLAGS += -no-undefined -liphlpapi -lnetapi32 -lcap -lws2_32 \ | ||
+ | -ldpnet | ||
+ | endif | ||
Revision as of 00:34, 1 July 2009
Written by sl1200mk2 2009/07/01. (nicole-banana.com)
This HOWTO outlines a method for compiling libartnet on Windows using MinGW (libartnet-1.dll).
you'll need msys, mingw and autotools installed.
o autoconf [1] o automake [2] o libtool [3]
- Unpack autoconf, automake and libtool to a directory of your choice.
- Install them with the 3 with the following command:
../path/to/configure --prefix=/mingw && make && make install
As all the libraries will be installed in /mingw, PKG_CONFIG_PATH must be set.
Open the file /etc/profile (C:\msys\1.0\etc\profile) with your favorite editor (make sure it uses LF line endings) and add:
PKG_CONFIG_PATH="/mingw/lib/pkgconfig"
You might also want to set CFLAGS. Safe options for MinGW are:
CFLAGS="-pipe -O2 -mms-bitfields -march=i686"
just before
export HOME LOGNAME MSYSTEM HISTFILE
and modify that line by adding the variables:
export HOME LOGNAME MSYSTEM HISTFILE CFLAGS PKG_CONFIG_PATH
Now restart MSYS. You should now be able to use MSYS without problems.
(taken from http://www.mingw.org/wiki/msys)
This is the biggest part of the job.
Download Libartnet
Sources (via git) - this will download latest libartnet version
git clone http://www.nomis52.net/git/libartnet
CHECK
check that AC_LIBTOOL_WIN32_DLL macro is present in libartnet/configure.in
if not, add AC_LIBTOOL_WIN32_DLL macro before AC_PROG_LIBTOOL
o AC_PROG_CC o AC_PROG_INSTALL o AC_PROG_LN_S o AC_PROG_MAKE_SET o AC_LIBTOOL_WIN32_DLL o AC_PROG_LIBTOOL
i did this with Bloc-notes because the way the file is recorded is important. you don't want \cr\lf end of lines, you just want \lf.
otherwise, you'll get errors like
' is already registered with AC_CONFIG_FILES. ../../lib/autoconf/status.m4:305: AC_CONFIG_FILES is expanded from... configure.in:76: the top level
edit libartnet/artnet/Makefile.am, and check if libartnet_la_LDFLAGS look like this
libartnet_la_LDFLAGS = -no-undefined -liphlpapi -lnetapi32 -lcap -lws2_32 -ldpnet -version-info 1:0:0
or
if USING_WIN32 libartnet_la_LDFLAGS += -no-undefined -liphlpapi -lnetapi32 -lcap -lws2_32 \ -ldpnet endif
Build
now go to libartnet
$ cd libartnet
launch reconf script (autotools where installed in/c/MinGW, so i pass this prefix)
$ reconf --prefix=/c/MinGW/ configure.in:14: installing `./config.guess' configure.in:14: installing `./config.sub' configure.in:7: installing `./install-sh' configure.in:15: required file `./ltmain.sh' not found configure.in:7: installing `./missing' artnet/Makefile.am: installing `./depcomp'
libtoolize everything to copy ./ltmain.sh
$ libtoolize --force --copy libtoolize: putting auxiliary files in `.'. libtoolize: copying file `./ltmain.sh' libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.in and libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree. libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
(i didn't set AC_CONFIG_MACRO_DIR([m4]) neither ACLOCAL_AMFLAGS)
re-launch reconf script
$ reconf --prefix=/c/MinGW/
compile everything
$ ./configure --prefix=/c/MinGW/ && make && make install
AC_PROG_LIBTOOL macro and -no-undefined flag cause libartnet to build as DLL