Re: [Quickfix-developers] QuickFIX 1.4.1
Brought to you by:
orenmnero
|
From: Joerg T. <Joe...@ma...> - 2003-04-10 02:51:04
|
Oren Miller wrote:
> I havn't seen this before, but I can see how some systems might need
> it. I guess it depends on how your mkdir works.
UNIX mkdir cannot make multiple path elements at once unless you specify -p. In this
case, it could not make ".../include/quickfix" because "../include" did not exist.
> >> /opt2/QuickFIX/linux/1.4.0/include/quickfix/include
> >> which looks at little bit strange (double include).
>
> Yeah, this is sort of a result of windows having no standard for
> installing header and library files, so they are generally put in a
> local directory. I didn't want to muddle the root quickfix directory,
> hence the include directory which then had to be carried over to *nix
> for portability. I would like it to work like you suggest, but will
> need to reorganize how headers are installed in windows. I'm thinking
> of creating an "output" directory under the root quickfix directory.
> There would then be another "quickfix" directory under output which
> would contain the include files (and a directory for the lib and bin
> files). That way under windows people can put quickfix\output in the
> include path, and we can then do things more normally under *nix.
>
> Any input on how this problem is normally handled would be helpful.
Since I do not work on Windows, I cannot contribute here. According to the
automake docs, the are two prefixes for installing include files:
include_HEADERS
pkginclude_HEADERS
If you use the first one, all headers are installed in
$(prefix)/include
and in the second case in
$(prefix)/include/quickfix
#inclu
(Quickfix is here the package name.) Together with '#include <quickfix/...' this
would be the best solution if you could make it fit for Windows. To make this work,
all includes of the kind "#include "quickfix/include/..." should be changed to
the <quickfix/...> style. If you say in Windows "-I<somedir>\include", it should also
find '#include <quickfix/...>' if the compiler translates the file separators.
> >> In addition, it would be nice to install the generated quickfix.jar
> into the lib directory.
> >> Change src/java/Makefile.am:
>
> Yeah, I didn't really know what standard procedure there was for
> installing jar files. Sounds like a good place to me.
Yes, there wasn't a standard one. I invented it ;-) See "info automake", Generalities::Uniform:
> Sometimes the standard directories--even as augmented by Automake--
> are not enough. In particular it is sometimes useful, for clarity, to
> install objects in a subdirectory of some predefined directory. To this
> end, Automake allows you to extend the list of possible installation
> directories. A given prefix (e.g. `zar') is valid if a variable of the
> same name with `dir' appended is defined (e.g. `zardir').
> For instance, until HTML support is part of Automake, you could use
> this to install raw HTML documentation:
> htmldir = $(prefix)/html
> html_DATA = automake.html
Writing portable build scripts is a tedious work, I hope I helped you a little bit.
Cheers, Jörg
--
Joerg Thoennes
http://macd.com
Tel.: +49 (0)241 44597-24 Macdonald Associates GmbH
Fax : +49 (0)241 44597-10 Lothringer Str. 52, D-52070 Aachen
|