diff --git a/.gitignore b/.gitignore index 7b399bd..c6f7ca0 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,8 @@ vars.sh *.a *.o *.log +*.swp +.vagrant/ depends.mk diff --git a/Vagrantfile b/Vagrantfile index 592863d..e6b3d7f 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -64,8 +64,10 @@ Vagrant.configure("2") do |config| # Enable provisioning with a shell script. Additional provisioners such as # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the # documentation for more information about their specific syntax and use. - # config.vm.provision "shell", inline: <<-SHELL - # apt-get update - # apt-get install -y apache2 - # SHELL + config.vm.provision "shell", inline: <<-SHELL + apt-get update + apt-get install -y gcc-5 g++-5 make + git clone https://github.com/mheily/jobd.git + cd jobd && CC=gcc-5 CXX=g++-5 ./configure + SHELL end diff --git a/src/configure b/src/configure index 4d0e257..9133b04 100755 --- a/src/configure +++ b/src/configure @@ -28,13 +28,16 @@ check_header 'sys/limits.h' check_header 'sys/event.h' if [ $check_header_sys_event_h -eq 0 ] ; then echo "building a local copy of libkqueue.. " - tar -C $TOPDIR/vendor -zxf $TOPDIR/vendor/libkqueue-2.0.4.tar.gz + make_define 'kqueue_dir' "$TOPDIR/vendor/libkqueue-2.0.4" make_define 'kqueue_CFLAGS' "-I$kqueue_dir/include" make_define 'kqueue_LDADD' '$kqueue_dir/.libs/libkqueue.a -lpthread -lrt' make_define 'kqueue_DEPENDS' "$kqueue_dir/.libs/libkqueue.a" - make_depend "$kqueue_dir/.libs/libkqueue.a" \ - "cd $kqueue_dir && ./configure && make" + + tar -C $TOPDIR/vendor -zxf $TOPDIR/vendor/libkqueue-2.0.4.tar.gz + ( set -x ; cd $kqueue_dir && test -e Makefile || ./configure ) + custom_target "$kqueue_dir/.libs/libkqueue.a" " " \ + "make -C $kqueue_dir" else make_define 'kqueue_CFLAGS' '' make_define 'kqueue_LDADD' '' @@ -52,14 +55,19 @@ if [ $check_header_ucl_h -eq 0 ] ; then dwarf_options="-gdwarf-2 -gstrict-dwarf" fi - make_define 'libucl_dir' "$TOPDIR/vendor/libucl-0.7.3" + ucldir="$TOPDIR/vendor/libucl-0.7.3" + make_define 'libucl_dir' "$ucldir" make_define 'libucl_CFLAGS' "-I$libucl_dir/include" make_define 'libucl_LDFLAGS' "" make_define 'libucl_LDADD' "$libucl_dir/src/.libs/libucl.a" make_define 'libucl_DEPENDS' "$libucl_dir/src/.libs/libucl.a" tar -C $TOPDIR/vendor -zxf $TOPDIR/vendor/libucl-0.7.3.tar.gz - make_depend "$libucl_dir/src/.libs/libucl.a" \ - "cd $libucl_dir && CFLAGS=\"$dwarf_options -g -O0\" ./configure && make" + ( set -x ; cd $ucldir && test -e Makefile || CFLAGS="$dwarf_options -g -O2 -fPIC" ./configure ) + wait + + custom_target "$libucl_dir/src/.libs/libucl.a" " " \ + "cd $libucl_dir && make" + else # KLUDGE: assumes libucl is installed in /usr/local, like on FreeBSD make_define 'libucl_CFLAGS' '-I /usr/local/include' diff --git a/src/jobd/configure b/src/jobd/configure index 15c2635..b783212 100755 --- a/src/jobd/configure +++ b/src/jobd/configure @@ -22,9 +22,9 @@ sbin_PROGRAMS=jobd jobd_CXXFLAGS="-I../.. -I.. -I. -include ../../config.h -std=c++11 -Wall -Werror $VENDOR_CXXFLAGS" jobd_LDFLAGS="-L/usr/lib -L/usr/local/lib -L../libjob/" -jobd_LDADD="$VENDOR_LDADD ../libjob/libjob.a" +jobd_LDADD="../libjob/libjob.a $VENDOR_LDADD" jobd_SOURCES=`ls *.cpp *.c | tr '\n' ' '` -jobd_DEPENDS="$VENDOR_DEPENDS ../libjob/libjob.a" +jobd_DEPENDS="../libjob/libjob.a $VENDOR_DEPENDS" uname=$(uname) if [ "`uname`" = 'FreeBSD' ] ; then diff --git a/src/libjob/configure b/src/libjob/configure index 6b555b9..f137a84 100755 --- a/src/libjob/configure +++ b/src/libjob/configure @@ -38,5 +38,4 @@ if [ -n "$manpage_generator" ] ; then manpage 'job.5' fi - write_makefile