Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
codes
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
38
Issues
38
List
Boards
Labels
Milestones
Merge Requests
8
Merge Requests
8
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
codes
codes
Commits
647f7a29
Commit
647f7a29
authored
Jul 16, 2015
by
Jonathan Jenkins
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
properly pkg-config codes-base + misc build fixes
parent
baafab1d
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
255 additions
and
57 deletions
+255
-57
Makefile.am
Makefile.am
+4
-2
configure.ac
configure.ac
+5
-19
m4/pkg.m4
m4/pkg.m4
+233
-0
maint/codes-net.pc.in
maint/codes-net.pc.in
+3
-3
prepare.sh
prepare.sh
+1
-1
src/models/Makefile.subdir
src/models/Makefile.subdir
+9
-9
tests/Makefile.subdir
tests/Makefile.subdir
+0
-23
No files found.
Makefile.am
View file @
647f7a29
...
...
@@ -25,12 +25,14 @@ EXTRA_DIST += \
AM_CPPFLAGS
=
-I
$(top_srcdir)
/src
${CODES_BASE_CFLAGS}
AM_CFLAGS
=
${CODES_BASE_CFLAGS}
AM_CFLAGS
=
AM_L
IBS
=
${CODES_BASE_LIB
S}
AM_L
DFLAGS
=
${CODES_BASE_LDFLAG
S}
AM_CXXFLAGS
=
$(AM_CFLAGS)
LDADD
=
$(lib_LIBRARIES)
include
Make.rules
include
$(top_srcdir)/src/models/Makefile.subdir
...
...
configure.ac
View file @
647f7a29
...
...
@@ -22,6 +22,8 @@ AC_PROG_CXX
AC_PROG_CXXCPP
AC_PROG_RANLIB
PKG_PROG_PKG_CONFIG
# Check for C99
AC_PROG_CC_C99
...
...
@@ -45,25 +47,9 @@ AC_TYPE_UINT64_T
AC_TYPE_SIZE_T
AC_TYPE_SSIZE_T
# Checks for library functions.
AC_CHECK_FUNCS([memset])
AC_CHECK_LIB([pthread],[pthread_create],,[AC_MSG_ERROR([Could not find pthread_create!])])
AC_CHECK_LIB([m],[sqrt],,[AC_MSG_ERROR([Could not find sqrt!])])
USE_CODES_BASE=UNKNOWN
AC_ARG_WITH(codes-base,
[ --with-codes-base=<dir> Location of codes-base installation],
[
AC_CHECK_FILE(${withval}/lib/pkgconfig/codes-base.pc)
USE_CODES_BASE=${withval}
],
[
AC_MSG_ERROR([Requires --with-codes-base])
])
CODES_BASE_LIBS=`PKG_CONFIG_PATH=${withval}/lib/pkgconfig pkg-config codes-base --libs`
CODES_BASE_CFLAGS=`PKG_CONFIG_PATH=${withval}/lib/pkgconfig pkg-config codes-base --cflags`
AC_SUBST(CODES_BASE_LIBS)
AC_SUBST(CODES_BASE_CFLAGS)
# check for codes-base
PKG_CHECK_MODULES_STATIC([CODES_BASE], [codes-base], [],
[AC_MSG_ERROR([Could not find working codes-base installation via pkg-config])])
if test "x$srcdir" != "x."; then
AC_CONFIG_LINKS([tests/conf:$srcdir/tests/conf])
...
...
m4/pkg.m4
0 → 100644
View file @
647f7a29
# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
# serial 1 (pkg-config-0.24)
#
# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# PKG_PROG_PKG_CONFIG([MIN-VERSION])
# ----------------------------------
AC_DEFUN([PKG_PROG_PKG_CONFIG],
[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
fi
if test -n "$PKG_CONFIG"; then
_pkg_min_version=m4_default([$1], [0.9.0])
AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
PKG_CONFIG=""
fi
fi[]dnl
])# PKG_PROG_PKG_CONFIG
# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
#
# Check to see whether a particular set of modules exists. Similar
# to PKG_CHECK_MODULES(), but does not set variables or print errors.
#
# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
# only at the first occurence in configure.ac, so if the first place
# it's called might be skipped (such as if it is within an "if", you
# have to call PKG_CHECK_EXISTS manually
# --------------------------------------------------------------
AC_DEFUN([PKG_CHECK_EXISTS],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
if test -n "$PKG_CONFIG" && \
AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
m4_default([$2], [:])
m4_ifvaln([$3], [else
$3])dnl
fi])
# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
# ---------------------------------------------
m4_define([_PKG_CONFIG],
[if test -n "$$1"; then
pkg_cv_[]$1="$$1"
elif test -n "$PKG_CONFIG"; then
PKG_CHECK_EXISTS([$3],
[pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes ],
[pkg_failed=yes])
else
pkg_failed=untried
fi[]dnl
])# _PKG_CONFIG
# _PKG_SHORT_ERRORS_SUPPORTED
# -----------------------------
AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
_pkg_short_errors_supported=yes
else
_pkg_short_errors_supported=no
fi[]dnl
])# _PKG_SHORT_ERRORS_SUPPORTED
# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
# [ACTION-IF-NOT-FOUND])
#
#
# Note that if there is a possibility the first call to
# PKG_CHECK_MODULES might not happen, you should be sure to include an
# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
#
#
# --------------------------------------------------------------
AC_DEFUN([PKG_CHECK_MODULES],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
pkg_failed=no
AC_MSG_CHECKING([for $1])
_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
_PKG_CONFIG([$1][_LIBS], [libs], [$2])
m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
and $1[]_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.])
if test $pkg_failed = yes; then
AC_MSG_RESULT([no])
_PKG_SHORT_ERRORS_SUPPORTED
if test $_pkg_short_errors_supported = yes; then
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
else
$1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
m4_default([$4], [AC_MSG_ERROR(
[Package requirements ($2) were not met:
$$1_PKG_ERRORS
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
_PKG_TEXT])[]dnl
])
elif test $pkg_failed = untried; then
AC_MSG_RESULT([no])
m4_default([$4], [AC_MSG_FAILURE(
[The pkg-config script could not be found or is too old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.
_PKG_TEXT
To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
])
else
$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
AC_MSG_RESULT([yes])
$3
fi[]dnl
])# PKG_CHECK_MODULES
# PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
# [ACTION-IF-NOT-FOUND])
# ---------------------------------------------------------------------
# Checks for existence of MODULES and gathers its build flags with
# static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
# and VARIABLE-PREFIX_LIBS from --libs.
#
# Note that if there is a possibility the first call to
# PKG_CHECK_MODULES_STATIC might not happen, you should be sure to include
# an explicit call to PKG_PROG_PKG_CONFIG in your configure.ac.
AC_DEFUN([PKG_CHECK_MODULES_STATIC],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
_save_PKG_CONFIG=$PKG_CONFIG
PKG_CONFIG="$PKG_CONFIG --static"
PKG_CHECK_MODULES($@)
PKG_CONFIG=$_save_PKG_CONFIG[]dnl
])
# PKG_INSTALLDIR(DIRECTORY)
# -------------------------
# Substitutes the variable pkgconfigdir as the location where a module
# should install pkg-config .pc files. By default the directory is
# $libdir/pkgconfig, but the default can be changed by passing
# DIRECTORY. The user can override through the --with-pkgconfigdir
# parameter.
AC_DEFUN([PKG_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
m4_pushdef([pkg_description],
[pkg-config installation directory @<:@]pkg_default[@:>@])
AC_ARG_WITH([pkgconfigdir],
[AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
[with_pkgconfigdir=]pkg_default)
AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
m4_popdef([pkg_default])
m4_popdef([pkg_description])
]) dnl PKG_INSTALLDIR
# PKG_NOARCH_INSTALLDIR(DIRECTORY)
# -------------------------
# Substitutes the variable noarch_pkgconfigdir as the location where a
# module should install arch-independent pkg-config .pc files. By
# default the directory is $datadir/pkgconfig, but the default can be
# changed by passing DIRECTORY. The user can override through the
# --with-noarch-pkgconfigdir parameter.
AC_DEFUN([PKG_NOARCH_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
m4_pushdef([pkg_description],
[pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
AC_ARG_WITH([noarch-pkgconfigdir],
[AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
[with_noarch_pkgconfigdir=]pkg_default)
AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
m4_popdef([pkg_default])
m4_popdef([pkg_description])
]) dnl PKG_NOARCH_INSTALLDIR
# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
# -------------------------------------------
# Retrieves the value of the pkg-config variable for the given module.
AC_DEFUN([PKG_CHECK_VAR],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
_PKG_CONFIG([$1], [variable="][$3]["], [$2])
AS_VAR_COPY([$1], [pkg_cv_][$1])
AS_VAR_IF([$1], [""], [$5], [$4])dnl
])# PKG_CHECK_VAR
maint/codes-net.pc.in
View file @
647f7a29
...
...
@@ -5,8 +5,8 @@ includedir=@includedir@
Name: codes-net
Description: Network functionality for CODES storage simulation
Version: @
CODES_NET
_VERSION@
Version: @
PACKAGE
_VERSION@
URL: http://trac.mcs.anl.gov/projects/CODES
Requires:
Libs: -L${libdir} -lcodes-net
Requires:
codes-base
Libs: -L${libdir} -lcodes-net
Cflags: -I${includedir}
prepare.sh
View file @
647f7a29
#!/bin/sh
echo
"Regenerating build files..."
autoreconf
-fi
autoreconf
-fi
-Im4
src/models/Makefile.subdir
View file @
647f7a29
...
...
@@ -48,17 +48,17 @@ bin_PROGRAMS += src/models/network-workloads/model-net-dumpi-traces-dump
bin_PROGRAMS
+=
src/models/network-workloads/model-net-synthetic
src_models_network_workloads_model_net_mpi_wrklds_SOURCES
=
src/models/network-workloads/model-net-mpi-wrklds.c
src_models_network_workloads_model_net_mpi_wrklds_LDADD
=
$(testlib)
$(CODES_BASE_LIBS)
src_models_network_workloads_model_net_mpi_wrklds_LDFLAGS
=
$(CODES_BASE_LDFLAGS)
src_models_network_workloads_model_net_mpi_wrklds_CFLAGS
=
${CODES_BASE_CFLAGS}
#
src_models_network_workloads_model_net_mpi_wrklds_LDADD = $(testlib) $(CODES_BASE_LIBS)
#
src_models_network_workloads_model_net_mpi_wrklds_LDFLAGS = $(CODES_BASE_LDFLAGS)
#
src_models_network_workloads_model_net_mpi_wrklds_CFLAGS = ${CODES_BASE_CFLAGS}
src_models_network_workloads_model_net_synthetic_SOURCES
=
src/models/network-workloads/model-net-synthetic.c
src_models_network_workloads_model_net_synthetic_LDADD
=
$(testlib)
$(CODES_BASE_LIBS)
src_models_network_workloads_model_net_synthetic_LDFLAGS
=
$(CODES_BASE_LDFLAGS)
src_models_network_workloads_model_net_synthetic_CFLAGS
=
${CODES_BASE_CFLAGS}
#
src_models_network_workloads_model_net_synthetic_LDADD = $(testlib) $(CODES_BASE_LIBS)
#
src_models_network_workloads_model_net_synthetic_LDFLAGS = $(CODES_BASE_LDFLAGS)
#
src_models_network_workloads_model_net_synthetic_CFLAGS = ${CODES_BASE_CFLAGS}
src_models_network_workloads_model_net_dumpi_traces_dump_SOURCES
=
src/models/network-workloads/model-net-dumpi-traces-dump.c
src_models_network_workloads_model_net_dumpi_traces_dump_LDADD
=
$(testlib)
$(CODES_BASE_LIBS)
src_models_network_workloads_model_net_dumpi_traces_dump_LDFLAGS
=
$(CODES_BASE_LDFLAGS)
src_models_network_workloads_model_net_dumpi_traces_dump_CFLAGS
=
${CODES_BASE_CFLAGS}
#
src_models_network_workloads_model_net_dumpi_traces_dump_LDADD = $(testlib) $(CODES_BASE_LIBS)
#
src_models_network_workloads_model_net_dumpi_traces_dump_LDFLAGS = $(CODES_BASE_LDFLAGS)
#
src_models_network_workloads_model_net_dumpi_traces_dump_CFLAGS = ${CODES_BASE_CFLAGS}
tests/Makefile.subdir
View file @
647f7a29
...
...
@@ -32,33 +32,10 @@ EXTRA_DIST += tests/modelnet-test.sh \
tests/conf/ng-mpi-tukey.dat
\
tests/README_MN_TEST.txt
testlib
=
src/libcodes-net.a
tests_modelnet_test_LDADD
=
$(testlib)
${CODES_BASE_LIBS}
tests_modelnet_test_CFLAGS
=
${CODES_BASE_CFLAGS}
tests_modelnet_test_SOURCES
=
tests/modelnet-test.c
tests_modelnet_test_dragonfly_LDADD
=
$(testlib)
${CODES_BASE_LIBS}
tests_modelnet_test_dragonfly_CFLAGS
=
${CODES_BASE_CFLAGS}
tests_modelnet_test_dragonfly_SOURCES
=
tests/modelnet-test-dragonfly.c
tests_modelnet_simplep2p_test_LDADD
=
$(testlib)
${CODES_BASE_LIBS}
tests_modelnet_simplep2p_test_CFLAGS
=
${CODES_BASE_CFLAGS}
tests_modelnet_simplep2p_test_SOURCES
=
tests/modelnet-simplep2p-test.c
tests_modelnet_p2p_bw_LDADD
=
$(testlib)
${CODES_BASE_LIBS}
tests_modelnet_p2p_bw_CFLAGS
=
${CODES_BASE_CFLAGS}
tests_modelnet_p2p_bw_SOURCES
=
tests/modelnet-p2p-bw.c
tests_concurrent_msg_recv_LDFLAGS
=
${CODES_BASE_LDFLAGS}
tests_concurrent_msg_recv_LDADD
=
$(testlib)
${CODES_BASE_LIBS}
tests_concurrent_msg_recv_CFLAGS
=
${CODES_BASE_CFLAGS}
tests_concurrent_msg_recv_SOURCES
=
tests/concurrent-msg-recv.c
tests_modelnet_test_collective_LDADD
=
$(testlib)
${CODES_BASE_LIBS}
tests_modelnet_test_collective_CFLAGS
=
${CODES_BASE_CFLAGS}
tests_modelnet_test_collective_SOURCES
=
tests/modelnet-test-collective.c
tests_modelnet_prio_sched_test_LDADD
=
$(testlib)
${CODES_BASE_LIBS}
tests_modelnet_prio_sched_test_CFLAGS
=
${CODES_BASE_CFLAGS}
tests_modelnet_prio_sched_test_SOURCES
=
tests/modelnet-prio-sched-test.c
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment