Skip to content

Commit

Permalink
Submits to autotools.
Browse files Browse the repository at this point in the history
  • Loading branch information
rioki committed Nov 29, 2013
1 parent 2438413 commit 0b3b91d
Show file tree
Hide file tree
Showing 9 changed files with 239 additions and 97 deletions.
37 changes: 37 additions & 0 deletions .gitignore
Expand Up @@ -4,3 +4,40 @@
*.dll
*.exe
*.pc
/.libs

/*.in

/aclocal.m4

/autom4te.cache

/c9y/.deps

/c9y/.dirstamp
/c9y/*.lo

/test/.deps

/test/.dirstamp

/missing

/m4/libtool.m4
/m4/ltoptions.m4
/m4/ltsugar.m4
/m4/ltversion.m4
/m4/lt~obsolete.m4

/ltmain.sh

/ar-lib
/config.guess
/config.log
/config.status
/config.sub
/configure
/depcomp
/install-sh
/libc9y.la
/libtool
94 changes: 0 additions & 94 deletions Makefile

This file was deleted.

24 changes: 24 additions & 0 deletions Makefile.am
@@ -0,0 +1,24 @@
ACLOCAL_AMFLAGS = -I m4

pkginclude_HEADERS = c9y/Barrier.h c9y/Idler.h c9y/RWLock.h c9y/Thread.h \
c9y/c9y.h c9y/Condition.h c9y/IpAddress.h c9y/Semaphore.h \
c9y/Timer.h c9y/EventLoop.h c9y/Mutex.h c9y/TcpSocket.h \
c9y/UdpSocket.h

lib_LTLIBRARIES = libc9y.la

libc9y_la_LDFLAGS = -no-undefined -version-info 0:0:0
libc9y_la_SOURCES = c9y/Barrier.cpp c9y/Condition.cpp c9y/EventLoop.cpp \
c9y/Idler.cpp c9y/IpAddress.cpp c9y/Mutex.cpp c9y/RWLock.cpp \
c9y/Semaphore.cpp c9y/TcpSocket.cpp c9y/Thread.cpp \
c9y/Timer.cpp c9y/UdpSocket.cpp c9y/c9y.cpp

check_PROGRAMS = c9y-test
TESTS = c9y-test

c9y_test_CXXFLAGS = -Ic9y
c9y_test_LDADD = libc9y.la
c9y_test_SOURCES = test/events.cpp test/main.cpp test/net.cpp \
test/philosophers.cpp

EXTRA_DIST = README.md
3 changes: 3 additions & 0 deletions README.md
@@ -0,0 +1,3 @@

c9y
===
8 changes: 8 additions & 0 deletions autogen.sh
@@ -0,0 +1,8 @@
#!/bin/sh

set -x

aclocal -I m4
libtoolize
autoconf
automake --add-missing --copy
6 changes: 3 additions & 3 deletions c9y.pc.in
@@ -1,12 +1,12 @@
# Package Information for pkg-config

prefix=%prefix%
prefix=@prefix@
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: c9y
Description: concurrency
Version: %VERSION%
Libs: -L${libdir} -lc9y -luv %extra_libs%
Version: @VERSION@
Libs: -L${libdir} -lc9y -luv
Cflags: -I${includedir}
25 changes: 25 additions & 0 deletions configure.ac
@@ -0,0 +1,25 @@

AC_INIT([c9y], [0.1.0], [https://github.com/rioki/c9y/issues])
AC_CONFIG_MACRO_DIR([m4])
AC_CANONICAL_HOST

AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects])
AM_SILENT_RULES([yes])
AM_PROG_AR

AC_LANG([C++])

AC_PROG_CXX
AX_CXX_COMPILE_STDCXX_11

LT_INIT([shared static win32-dll])

AC_CHECK_HEADER([rtest.h], :, AC_MSG_ERROR([rtest.h not found!]))
AC_CHECK_LIB([rtest], [main], LIBS="$LIBS -lrtest", AC_MSG_ERROR([rtest not found!]))

AC_CHECK_HEADER([uv.h], :, AC_MSG_ERROR([uv.h not found!]))
AC_CHECK_LIB([uv], [uv_run], LIBS="$LIBS -luv", AC_MSG_ERROR([libuv not found!]))

AC_CONFIG_FILES([Makefile c9y.pc])

AC_OUTPUT
133 changes: 133 additions & 0 deletions m4/ax_cxx_compile_stdcxx_11.m4
@@ -0,0 +1,133 @@
# ============================================================================
# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html
# ============================================================================
#
# SYNOPSIS
#
# AX_CXX_COMPILE_STDCXX_11([ext|noext],[mandatory|optional])
#
# DESCRIPTION
#
# Check for baseline language coverage in the compiler for the C++11
# standard; if necessary, add switches to CXXFLAGS to enable support.
#
# The first argument, if specified, indicates whether you insist on an
# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
# -std=c++11). If neither is specified, you get whatever works, with
# preference for an extended mode.
#
# The second argument, if specified 'mandatory' or if left unspecified,
# indicates that baseline C++11 support is required and that the macro
# should error out if no mode with that support is found. If specified
# 'optional', then configuration proceeds regardless, after defining
# HAVE_CXX11 if and only if a supporting mode is found.
#
# LICENSE
#
# Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
# Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
# Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
#
# Copying and distribution of this file, with or without modification, are
# permitted in any medium without royalty provided the copyright notice
# and this notice are preserved. This file is offered as-is, without any
# warranty.

#serial 3

m4_define([_AX_CXX_COMPILE_STDCXX_11_testbody], [
template <typename T>
struct check
{
static_assert(sizeof(int) <= sizeof(T), "not big enough");
};
typedef check<check<bool>> right_angle_brackets;
int a;
decltype(a) b;
typedef check<int> check_type;
check_type c;
check_type&& cr = static_cast<check_type&&>(c);
auto d = a;
])

AC_DEFUN([AX_CXX_COMPILE_STDCXX_11], [dnl
m4_if([$1], [], [],
[$1], [ext], [],
[$1], [noext], [],
[m4_fatal([invalid argument `$1' to AX_CXX_COMPILE_STDCXX_11])])dnl
m4_if([$2], [], [ax_cxx_compile_cxx11_required=true],
[$2], [mandatory], [ax_cxx_compile_cxx11_required=true],
[$2], [optional], [ax_cxx_compile_cxx11_required=false],
[m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX_11])])dnl
AC_LANG_PUSH([C++])dnl
ac_success=no
AC_CACHE_CHECK(whether $CXX supports C++11 features by default,
ax_cv_cxx_compile_cxx11,
[AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
[ax_cv_cxx_compile_cxx11=yes],
[ax_cv_cxx_compile_cxx11=no])])
if test x$ax_cv_cxx_compile_cxx11 = xyes; then
ac_success=yes
fi
m4_if([$1], [noext], [], [dnl
if test x$ac_success = xno; then
for switch in -std=gnu++11 -std=gnu++0x; do
cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch])
AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch,
$cachevar,
[ac_save_CXXFLAGS="$CXXFLAGS"
CXXFLAGS="$CXXFLAGS $switch"
AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
[eval $cachevar=yes],
[eval $cachevar=no])
CXXFLAGS="$ac_save_CXXFLAGS"])
if eval test x\$$cachevar = xyes; then
CXXFLAGS="$CXXFLAGS $switch"
ac_success=yes
break
fi
done
fi])
m4_if([$1], [ext], [], [dnl
if test x$ac_success = xno; then
for switch in -std=c++11 -std=c++0x; do
cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch])
AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch,
$cachevar,
[ac_save_CXXFLAGS="$CXXFLAGS"
CXXFLAGS="$CXXFLAGS $switch"
AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
[eval $cachevar=yes],
[eval $cachevar=no])
CXXFLAGS="$ac_save_CXXFLAGS"])
if eval test x\$$cachevar = xyes; then
CXXFLAGS="$CXXFLAGS $switch"
ac_success=yes
break
fi
done
fi])
AC_LANG_POP([C++])
if test x$ax_cxx_compile_cxx11_required = xtrue; then
if test x$ac_success = xno; then
AC_MSG_ERROR([*** A compiler with support for C++11 language features is required.])
fi
else
if test x$ac_success = xno; then
HAVE_CXX11=0
AC_MSG_NOTICE([No compiler with C++11 support was found])
else
HAVE_CXX11=1
AC_DEFINE(HAVE_CXX11,1,
[define if the compiler supports basic C++11 syntax])
fi
AC_SUBST(HAVE_CXX11)
fi
])
6 changes: 6 additions & 0 deletions wercker.yml
Expand Up @@ -15,6 +15,12 @@ build:
- script:
name: build libuv
code: cd libuv && sh autogen.sh && sh configure && make && sudo make install
- script:
name: autogen
code: sh autogen.sh
- script:
name: configure
code: sh configure
- script:
name: make
code: make
Expand Down

0 comments on commit 0b3b91d

Please sign in to comment.