Toon posts:

[Linux port] 2

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een CVS opgezet zodat we veilig een applicatie kunnen porten naar linux.
Nu wil het geval dat de win32 source directories netjes zijn gerangschikt.

Oisyn riep dat ik naar een voorbeeld moest kijken, wel ik probeer nu eerst iets simpels werkend te krijgen (met de PalmOS emulator als voorbeeld):

[atimmer@k7 automake]$ cat configure.ac
AC_INIT(../html_parser/htmlparser.cpp)
AC_CANONICAL_SYSTEM
AM_INIT_AUTOMAKE(q,0,no)
AC_PROG_CC
AC_PROG_CXX
AC_PROG_INSTALL
AC_OUTPUT(Makefile)

[atimmer@k7 automake]$ cat Makefile.am
bin_PROGRAMS= q
q_SOURCES=$(SRC_UNIX)
VPATH= $(srcdir)/../html_parser \
$(srcdir)/../generic_scanner
INCLUDES= $(srcdir)/../html_parser
INCLUDES+=$(srcdir)/../generic_scanner
SRC_UNIX= html_parser.cpp \
generic_scanner.cpp

automake;autoconf; mkdir build; cd build; ../configure
make: *** No rule to make target `configure.ac', needed by `../aclocal.m4'. Stop.
:?

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18-08 21:00

Creepy

Tactical Espionage Splatterer

Je hebt de GNU autotools geinstalleerd?? En waromm run je geen autoheader?

Anyway, google kwam bij mij nog met een paar leuke links:
http://seul.org/docs/autotut/
http://www.murrayc.com/le...x/automake/automake.shtml
en ook nog ergens een volledige manual op gnu.org (maar die mag je zelf proberen te vinden ;) ).

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Vanuit een build dir ../configure aanroepen zou normaal gesproken moeten werken (net hier getest). Probeer ./configure eens te draaien in de directory zelf?

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Even een paar opmerkingen nog over je configure.ac:

code:
1
2
AC_INIT(../html_parser/htmlparser.cpp)
AM_INIT_AUTOMAKE(q,0,no)


Een init kan tegenwoordig zo:
code:
1
2
AC_INIT([stratego-regular],[0.2.0],[mbravenb@cs.uu.nl])
AM_INIT_AUTOMAKE

Is wat mooier.

Ik geef verder vaak de vereiste autoconf en automake versies op en stel automake zo in dat hij moet waarschuwen over problemen:

code:
1
2
3
AC_PREREQ(2.57)
AC_INIT([stratego-regular],[0.2.0],[mbravenb@cs.uu.nl])
AM_INIT_AUTOMAKE([1.7.2 -Wall -Wno-portability])


code:
1
AC_OUTPUT(Makefile)

Output kan tegenwoordig netter op de volgende wijze:

code:
1
2
3
4
5
AC_CONFIG_FILES([
  Makefile
  tests/Makefile
])
AC_OUTPUT


Helaas werken veel pakketten hun configure.ac niet vaak bij, waardoor iedereen oude constructies gebruikt.

aclocal, automake en autoconf roep ik zo aan:
code:
1
2
3
aclocal -I . || exit -1
autoconf -f --warnings=all --warnings=no-cross || exit -1
automake -a || exit -1

Uiteraard heeft ook dat weer met foutmeldingen enzo te maken.

[ Voor 4% gewijzigd door mbravenboer op 14-10-2003 19:20 ]

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment