Script for cross-compiling jq binaries for other platforms.
This commit is contained in:
1 parent
63b689bf54
commit
282667bbd4
3 files changed
+40
-2
No files matched your search
+5
-1
@@ -22,7 +22,7 @@ AM_CFLAGS = -Wextra -Wall -Wno-missing-field-initializers \
|
|||||||
# header file creation so we'll use good old make
|
# header file creation so we'll use good old make
|
||||||
BUILT_SOURCES = lexer.h lexer.c parser.h parser.c
|
BUILT_SOURCES = lexer.h lexer.c parser.h parser.c
|
||||||
lexer.c: lexer.l
|
lexer.c: lexer.l
|
||||||
flex -o lexer.c --header-file=lexer.h lexer.l
|
flex -o lexer.c --header-file=lexer.h $<
|
||||||
lexer.h: lexer.c
|
lexer.h: lexer.c
|
||||||
|
|
||||||
# Tell YACC (bison) autoconf macros that you want a header file created.
|
# Tell YACC (bison) autoconf macros that you want a header file created.
|
||||||
@@ -54,6 +54,10 @@ docs/site.yml: configure.ac
|
|||||||
sed 's/^jq_version: .*/jq_version: $(VERSION)/' $@ > $@.new
|
sed 's/^jq_version: .*/jq_version: $(VERSION)/' $@ > $@.new
|
||||||
mv $@.new $@
|
mv $@.new $@
|
||||||
|
|
||||||
|
install-binaries: $(BUILT_SOURCES)
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) install-exec
|
||||||
|
|
||||||
|
|
||||||
# setup is only used by distribution developers, not package developers.
|
# setup is only used by distribution developers, not package developers.
|
||||||
# Still, as a matter of allowing patching, its not a bad idea to distribute
|
# Still, as a matter of allowing patching, its not a bad idea to distribute
|
||||||
# the developer setup script in the tarball.
|
# the developer setup script in the tarball.
|
||||||
|
|||||||
+4
-1
@@ -1090,7 +1090,7 @@ uninstall-man: uninstall-man1
|
|||||||
uninstall-man1
|
uninstall-man1
|
||||||
|
|
||||||
lexer.c: lexer.l
|
lexer.c: lexer.l
|
||||||
flex -o lexer.c --header-file=lexer.h lexer.l
|
flex -o lexer.c --header-file=lexer.h $<
|
||||||
lexer.h: lexer.c
|
lexer.h: lexer.c
|
||||||
|
|
||||||
### Building the jq binary
|
### Building the jq binary
|
||||||
@@ -1103,6 +1103,9 @@ docs/site.yml: configure.ac
|
|||||||
sed 's/^jq_version: .*/jq_version: $(VERSION)/' $@ > $@.new
|
sed 's/^jq_version: .*/jq_version: $(VERSION)/' $@ > $@.new
|
||||||
mv $@.new $@
|
mv $@.new $@
|
||||||
|
|
||||||
|
install-binaries: $(BUILT_SOURCES)
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) install-exec
|
||||||
|
|
||||||
jq.1 :
|
jq.1 :
|
||||||
cd ${abs_srcdir}/docs; rake manpage > ${abs_builddir}/$@
|
cd ${abs_srcdir}/docs; rake manpage > ${abs_builddir}/$@
|
||||||
|
|
||||||
|
|||||||
Executable
+31
@@ -0,0 +1,31 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# This script is used to cross-compile binaries for
|
||||||
|
# platforms other than the current one
|
||||||
|
|
||||||
|
# Usage: $0 <platformname> <configure options>
|
||||||
|
# <platformname> is arbitrary, it is the name
|
||||||
|
# of the directory which will be created to contain
|
||||||
|
# the output binaries.
|
||||||
|
|
||||||
|
# e.g. $0 win32 --host=i686-w64-mingw32
|
||||||
|
|
||||||
|
set -e
|
||||||
|
cd `dirname "$0"`
|
||||||
|
|
||||||
|
plat="$1"
|
||||||
|
[ -z "$plat" ] && exit 1
|
||||||
|
shift
|
||||||
|
|
||||||
|
[ -d "$plat" ] || mkdir "$plat"
|
||||||
|
rm -rf "$plat/tmp"
|
||||||
|
mkdir "$plat/tmp"
|
||||||
|
cd "$plat/tmp"
|
||||||
|
mkdir install_other
|
||||||
|
../../../configure \
|
||||||
|
--prefix="`pwd`/install_other" \
|
||||||
|
--bindir="`pwd`/.." \
|
||||||
|
"$@"
|
||||||
|
make install-binaries
|
||||||
|
cd ..
|
||||||
|
rm -rf tmp
|
||||||
Reference in new issue
Block a user