Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build: fix make distcheck build #3069

Merged
merged 1 commit into from May 8, 2023
Merged

Conversation

ice0
Copy link
Collaborator

@ice0 ice0 commented May 7, 2023

Fixed:

  • "files left after uninstall" error for "distuninstallcheck" target

Backported fix from 1.4 branch: e94ea8d

  • ERROR: files left in build directory after distclean: ./po/.intltool-merge-cache.lock

It looks like bug in libtoolize: https://bugs.launchpad.net/intltool/+bug/1712194
Fixed by rewriting generated Makefile.in.in file.

  • bline.cpp:36:10: fatal error: test_base.h: No such file or directory

I'm not sure which way is preferable: using EXTRA_DIST or adding test_base.h to build the target?

Fixed:
- bline.cpp:36:10: fatal error: test_base.h: No such file or directory
- ERROR: files left in build directory after distclean:
./po/.intltool-merge-cache.lock
- "files left after uninstall" error for "distuninstallcheck" target
@morevnaproject
Copy link
Member

Thank you! It works now.

Still, I think it would be more correct to have the following content in synfig-core/test/Makefile.am:

MAINTAINERCLEANFILES=Makefile.in
AM_CXXFLAGS=@CXXFLAGS@ @ETL_CFLAGS@ @SYNFIG_CFLAGS@ -I$(top_builddir) -I$(top_srcdir)/src
AM_LDFLAGS = \
	../src/synfig/libsynfig.la \
	@SYNFIG_LIBS@

check_PROGRAMS=$(TESTS)

TESTS = \
	angle \
	benchmark \
	bezier \
	bline \
	bone \
	clock \
	filesystem_path \
	keyframe \
	node \
	pen \
	reference_counter \
	string \
	surface_etl

angle_SOURCES=angle.cpp test_base.h

benchmark_SOURCES=benchmark.cpp

bezier_SOURCES=hermite.cpp

bone_SOURCES=bone.cpp

bline_SOURCES=bline.cpp test_base.h

clock_SOURCES=clock.cpp

filesystem_path_SOURCES=filesystem_path.cpp test_base.h

keyframe_SOURCES=keyframe.cpp test_base.h

node_SOURCES=node.cpp test_base.h

pen_SOURCES=pen.cpp test_base.h

reference_counter_SOURCES=reference_counter.cpp test_base.h

string_SOURCES=string.cpp test_base.h

surface_etl_SOURCES=surface_etl.cpp test_base.h

(this is because EXTRA_DIST is usually used for non-source files)

@rodolforg
Copy link
Contributor

rodolforg commented May 7, 2023

I vote for.... EXTRA_DIST.

According to AutoMake docs:

Still, sometimes there are files which must be distributed, but which are not covered in the automatic rules. These files should be listed in the EXTRA_DIST variable. You can mention files from subdirectories in EXTRA_DIST.

https://www.gnu.org/software/automake/manual/1.7.6/html_node/Dist.html

So, it is a valid way and we add a single line (per Makefile.am in test folder).
Otherwise, it would be strange to place in every _SOURCES line or in one only (as adding to one would be enough to fix the issue, I suppose).

@morevnaproject
Copy link
Member

Okay! ^__^

@morevnaproject morevnaproject merged commit d2e084f into synfig:master May 8, 2023
9 checks passed
@ice0 ice0 deleted the fix-distcheck branch May 14, 2023 14:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants