Projekt

Allgemein

Profil

Aktionen

Bug #155

offen

Aqbanking cannot be build from git with out-of-source build directory

Von cstimming vor fast 6 Jahren hinzugefügt. Vor fast 6 Jahren aktualisiert.

Status:
Feedback
Priorität:
Normal
Kategorie:
AqBanking
Beginn:
31.10.2019
Abgabedatum:
Betriebssystem:
andere
AqBanking-Version:
5.99.43
Anwendung:
andere
Version der Anwendung:

Beschreibung

To reproduce:

git clone aqbanking # ... start with a new empty clone
cd aqbanking
ACLOCAL_FLAGS="-I $GWEN_PREFIX/share/aclocal" make -f Makefile.cvs
mkdir build && cd build
../configure PKG_CONFIG_PATH=$GWEN_PREFIX/lib/pkgconfig
make

Expected result: Compiling processes as usual.
Observed result instead:
make[5]: Entering directory '/home/cs/org/hbci/aqbanking-clone3/build/src/libs/aqbanking/types'
make[5]: *** No rule to make target 'transaction.c', needed by 'transaction.lo'.  Stop.
make[5]: Leaving directory '/home/cs/org/hbci/aqbanking-clone3/build/src/libs/aqbanking/types'
Makefile:664: recipe for target 'all-recursive' failed
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory '/home/cs/org/hbci/aqbanking-clone3/build/src/libs/aqbanking'

One could get a little bit further by prepending the list of XML files in the "typefiles" definition in Makefile.am by $(srcdir)/ each, see attached diff for the first two Makefile.am. However, this looks ugly anyway, and it also doesn't work for all cases, as the next error cannot be fixed by this addition:
make[5]: Entering directory '/home/cs/org/hbci/aqbanking-clone2/build/src/libs/aqbanking/backendsupport'
make[5]: *** No rule to make target 'jobqueue.c', needed by 'jobqueue.lo'.  Stop.

@martin: Maybe typemaker2 needs more settings about this situation with the XML files in the srcdir, but the C files in the builddir? As a first step, I think it's ok to put the generated C files in the srcdir, too, but nevertheless the out-of-srcdir build should start to work...


Dateien


Zugehörige Tickets 1 (0 offen1 geschlossen)

Beziehung mit AqBanking - Bug #166: "make" fails, since .42Rejected25.11.2019Aktionen
Aktionen #1

Von martin vor fast 6 Jahren aktualisiert

  • Status wurde von New zu Feedback geändert

Hi,

the typemaker2-generated files are distributed with AqBanking, so being able to generate them out-of-source doesn't seem to be necessary.
To (re)generate the typemaker2 files the following steps are required:

make typedefs
make typefiles

The "typedefs" target generates ony the *.tm2 files which resolve possible curcular dependencies between typemaker2-generated files.

The "typefiles" target actually generates the source files.

After those steps the rest should be buildable out-of-source.

Regards
Martin

Aktionen #2

Von cstimming vor fast 6 Jahren aktualisiert

  • Thema wurde von Aqbanking cannot be build in out-of-source build directory zu Aqbanking cannot be build from git with out-of-source build directory geändert

Ok, you're right, my question asks for building from git in out-of-srcdir form. The distributed tarball would work, indeed.

My use case is that I have multiple build dirs based on one srcdir, especially a windows build and a linux build. It is very convenient to run both compiles from one single srcdir. Enabling out-of-srcdir build would be one simple solution to achieve this.

However, having to run "make typedefs; make typefiles" requires an in-srcdir setup of configure, because otherwise I cannot run make there.

Aktionen #3

Von martin vor fast 6 Jahren aktualisiert

Currently, I don't see how this could be done.

Even if you make typemaker2 read its source files from SRCDIR (by adjusting Makefile.am to insert $(SRCDIR) before typefiles) and write to BUILDDIR (BTW: typemaker2 accepts a parameter "--destfolder=PARAM") the destination files would be written to BUILDDIR.

But how would you get gcc/make to compile those files generated in BUILDDIR? Wouldn't gcc/make look in $(SRCDIR) for source files?

Aktionen #4

Von AndreasFilsinger vor mehr als 5 Jahren aktualisiert

  • Beziehung mit Bug #166: "make" fails, since .42 wurde hinzugefügt
Aktionen

Auch abrufbar als: Atom PDF