xLua - Lua C++ API

Check-in [31daf875d4]
Login
Overview
Comment:Forbid creating a distfile when Doxygen is missing "make distcheck" was strangely failing when Doxygen was not present even when the install rules check for this condition. This was because the dist rules were not handling the lack of Doxygen properly. Discovered while trying to set up Travis CI for lutok.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | master | trunk
Files: files | file ages | folders
SHA3-256:31daf875d4a413b9810b4ae4f2a46d0f3d56190e30a73de45f4cfc5dc40ecc3e
User & Date: jmmv@google.com 2014-08-02 01:59:59
Context
2014-08-02
02:23
Fix error handling on call to access(2) check-in: 9bdc2e0b87 user: jmmv@google.com tags: master, trunk
01:59
Forbid creating a distfile when Doxygen is missing "make distcheck" was strangely failing when Doxygen was not present even when the install rules check for this condition. This was because the dist rules were not handling the lack of Doxygen properly. Discovered while trying to set up Travis CI for lutok. check-in: 31daf875d4 user: jmmv@google.com tags: master, trunk
01:50
Run autoreconf before trying configure check-in: 10092e6465 user: jmmv@google.com tags: master, trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to Makefile.am.

74
75
76
77
78
79
80

81
82
83
84
85
86
87
...
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
...
165
166
167
168
169
170
171
172

173







174
175
176
177
178
179
180
...
193
194
195
196
197
198
199
200


201
	    -e 's#__LUA_CFLAGS__#$(LUA_CFLAGS)#g' \
	    -e 's#__LUA_LIBS__#$(LUA_LIBS)#g' \
	    -e 's#__VERSION__#$(PACKAGE_VERSION)#g' \
	    <$(srcdir)/lutok.pc.in >lutok.pc.tmp
	mv lutok.pc.tmp lutok.pc

CLEAN_TARGETS =

PHONY_TARGETS =

examplesdir = $(docdir)/examples
examples_DATA  = examples/Makefile
examples_DATA += examples/bindings.cpp
examples_DATA += examples/hello.cpp
examples_DATA += examples/interpreter.cpp
................................................................................
	    --kyuafile='$(top_srcdir)/Kyuafile' --build-root='$(top_builddir)'

installcheck-local: installcheck-kyua
PHONY_TARGETS += installcheck-kyua
installcheck-kyua:
	cd $(testsdir) && $(TESTS_ENVIRONMENT) kyua test
else
dist-hook: dist-no-atf
PHONY_TARGETS += dist-no-atf
dist-no-atf:
	@echo "Sorry; cannot build a distfile without atf"
	@false
endif

if WITH_DOXYGEN
................................................................................
	${DOXYGEN} $(builddir)/Doxyfile 2>&1 | tee api-docs/warnings
	rm -f api-docs/html/installdox
api-docs/html: api-docs/api-docs.tag

CLEAN_TARGETS += clean-api-docs
clean-api-docs:
	rm -rf api-docs
endif

EXTRA_DIST += api-docs/html








install-data-local: install-api-docs
install-api-docs: install-docDATA
	@echo "Installing HTML documentation into $(DESTDIR)$(htmldir)"
	@if [ -d api-docs/html ]; then \
	    test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"; \
	    ( cd api-docs/html && tar cf - . ) | \
................................................................................
	rm -rf "$(DESTDIR)$(htmldir)"

clean-local: $(CLEAN_TARGETS)

PHONY_TARGETS += clean-all
clean-all:
	GIT="$(GIT)" $(SH) $(srcdir)/admin/clean-all.sh



.PHONY: ${PHONY_TARGETS}







>







 







|







 







<
>

>
>
>
>
>
>
>







 








>
>

74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
...
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
...
166
167
168
169
170
171
172

173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
...
201
202
203
204
205
206
207
208
209
210
211
	    -e 's#__LUA_CFLAGS__#$(LUA_CFLAGS)#g' \
	    -e 's#__LUA_LIBS__#$(LUA_LIBS)#g' \
	    -e 's#__VERSION__#$(PACKAGE_VERSION)#g' \
	    <$(srcdir)/lutok.pc.in >lutok.pc.tmp
	mv lutok.pc.tmp lutok.pc

CLEAN_TARGETS =
DIST_HOOKS =
PHONY_TARGETS =

examplesdir = $(docdir)/examples
examples_DATA  = examples/Makefile
examples_DATA += examples/bindings.cpp
examples_DATA += examples/hello.cpp
examples_DATA += examples/interpreter.cpp
................................................................................
	    --kyuafile='$(top_srcdir)/Kyuafile' --build-root='$(top_builddir)'

installcheck-local: installcheck-kyua
PHONY_TARGETS += installcheck-kyua
installcheck-kyua:
	cd $(testsdir) && $(TESTS_ENVIRONMENT) kyua test
else
DIST_HOOKS += dist-no-atf
PHONY_TARGETS += dist-no-atf
dist-no-atf:
	@echo "Sorry; cannot build a distfile without atf"
	@false
endif

if WITH_DOXYGEN
................................................................................
	${DOXYGEN} $(builddir)/Doxyfile 2>&1 | tee api-docs/warnings
	rm -f api-docs/html/installdox
api-docs/html: api-docs/api-docs.tag

CLEAN_TARGETS += clean-api-docs
clean-api-docs:
	rm -rf api-docs


EXTRA_DIST += api-docs/html
else
DIST_HOOKS += dist-no-doxygen
PHONY_TARGETS += dist-no-doxygen
dist-no-doxygen:
	@echo "Sorry; cannot build a distfile without Doxygen"
	@false
endif

install-data-local: install-api-docs
install-api-docs: install-docDATA
	@echo "Installing HTML documentation into $(DESTDIR)$(htmldir)"
	@if [ -d api-docs/html ]; then \
	    test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"; \
	    ( cd api-docs/html && tar cf - . ) | \
................................................................................
	rm -rf "$(DESTDIR)$(htmldir)"

clean-local: $(CLEAN_TARGETS)

PHONY_TARGETS += clean-all
clean-all:
	GIT="$(GIT)" $(SH) $(srcdir)/admin/clean-all.sh

dist-hook: $(DIST_HOOKS)

.PHONY: ${PHONY_TARGETS}

Changes to admin/travis-install-deps.sh.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#! /bin/sh

set -e -x

sudo apt-get update -qq
sudo apt-get install -y liblua5.2-0 liblua5.2-dev pkg-config

wget --no-check-certificate \
    https://github.com/jmmv/atf/releases/download/atf-0.20/atf-0.20.tar.gz
tar -xzvf atf-0.20.tar.gz
( cd atf-0.20 && ./configure --prefix=/usr && make && sudo make install )

# TODO(jmmv): Should also install Kyua to be able to run the tests... but
# without a binary package available, the circular dependencies become hard
# to handle.





|









1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#! /bin/sh

set -e -x

sudo apt-get update -qq
sudo apt-get install -y doxygen liblua5.2-0 liblua5.2-dev pkg-config

wget --no-check-certificate \
    https://github.com/jmmv/atf/releases/download/atf-0.20/atf-0.20.tar.gz
tar -xzvf atf-0.20.tar.gz
( cd atf-0.20 && ./configure --prefix=/usr && make && sudo make install )

# TODO(jmmv): Should also install Kyua to be able to run the tests... but
# without a binary package available, the circular dependencies become hard
# to handle.