Skip to content

Commit 68b75b9

Browse files
authored
Merge pull request #5 from clustbench/munkin_wrk
Munkin wrk
2 parents 8fb3990 + 3a1fdbe commit 68b75b9

File tree

19 files changed

+291
-378
lines changed

19 files changed

+291
-378
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,4 @@ autom4te.cache/
3737
config.status
3838
config.log
3939
config
40+
/Makefile

Makefile.in

Lines changed: 11 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,8 @@
1919

2020
include ./config
2121
SHELL=/bin/bash
22-
GOALS = network_test network_viewer_qt_v2 clustering java
23-
#INSTALL_DIR = .
2422

25-
all: core $(GOALS)
23+
all: core $(GOALS)
2624

2725
install: prepare_install install_core $(GOALS) $(INSTALL_DIR)/config install_doc
2826
$(foreach rule, $(GOALS), $(MAKE) install -C ./src/$(rule);)
@@ -42,12 +40,15 @@ force_uninstall:
4240
install_doc:
4341
cp -rf ./doc/* $(INSTALL_DIR)/doc
4442

45-
core: parus_config.h
43+
core:
4644
$(MAKE) -C ./src/core
4745

4846
install_core: core
4947
$(MAKE) install -C ./src/core
5048

49+
clean_core:
50+
$(MAKE) clean -C ./src/core
51+
5152
network_test:
5253
$(MAKE) -C ./src/network_test
5354

@@ -60,59 +61,16 @@ clustering:
6061
java:
6162
$(MAKE) -C ./src/java
6263

63-
clean:
64-
rm -f ./parus_config.h
65-
$(MAKE) clean -C ./src/network_test
66-
$(MAKE) clean -C ./src/core
67-
$(MAKE) clean -C ./src/network_viewer_qt_v2
68-
$(MAKE) clean -C ./src/java
69-
$(MAKE) clean -C ./src/clustering
64+
clean: clean_core
65+
$(foreach rule, $(GOALS), $(MAKE) clean -C ./src/$(rule);)
66+
67+
purge: clean force_uninstall
68+
rm -f ./parus_config.h ./configure ./Makefile
7069

7170
prepare_install:
7271
./prepare_install.sh $(INSTALL_DIR)
7372

74-
parus_config.h:
75-
echo "#ifndef __PARUS_CONFIG_H__" > parus_config.h
76-
echo "#define __PARUS_CONFIG_H__" >> parus_config.h
77-
echo " #define PARUS_VERSION \"$(PARUS_VERSION)\"" >> parus_config.h
78-
echo " #define PARUS_INSTALL_DIR \"$(INSTALL_DIR)\"" >> parus_config.h
79-
echo " #define PARUS_DATA_DIR \"$(INSTALL_DIR)/var/spool/network_tests2\"" >> parus_config.h
80-
echo "#endif /* __PARUS_CONFIG_H__ */" >> parus_config.h
81-
82-
8373
$(INSTALL_DIR)/config:
84-
echo "PARUS_VERSION=$(PARUS_VERSION)" > $(INSTALL_DIR)/config
85-
echo "INSTALL_DIR=$(INSTALL_DIR)" >> $(INSTALL_DIR)/config
86-
echo "MPI_HOME=$(MPI_HOME)" >> $(INSTALL_DIR)/config
87-
echo "MPI_cc=$(MPI_cc)" >> $(INSTALL_DIR)/config
88-
echo "MPI_CC=$(MPI_CC)" >> $(INSTALL_DIR)/config
89-
echo "MPI_CLINKER=$(MPI_CLINKER)" >> $(INSTALL_DIR)/config
90-
echo "MPI_CCLINKER=$(MPI_CCLINKER)" >> $(INSTALL_DIR)/config
91-
echo "MPI_LIB_PATH=$(MPI_LIB_PATH)" >> $(INSTALL_DIR)/config
92-
echo "MPI_LIBS=$(MPI_LIBS)" >> $(INSTALL_DIR)/config
93-
echo "MPI_cc_INCLUDE=$(MPI_cc_INCLUDE) -I $(INSTALL_DIR) -I $(INSTALL_DIR)/include" >> $(INSTALL_DIR)/config
94-
echo "MPI_CC_INCLUDE=$(MPI_CC_INCLUDE) -I $(INSTALL_DIR) -I $(INSTALL_DIR)/include" >> $(INSTALL_DIR)/config
95-
echo "MPI_cc_FLAGS=$(MPI_cc_FLAGS)" >> $(INSTALL_DIR)/config
96-
echo "MPI_CC_FLAGS=$(MPI_CC_FLAGS)" >> $(INSTALL_DIR)/config
97-
echo "MPI_CLINKER_FLAGS=$(MPI_CLINKER_FLAGS)" >> $(INSTALL_DIR)/config
98-
echo "MPI_CCLINKER_FLAGS=$(MPI_CCLINKER_FLAGS)" >> $(INSTALL_DIR)/config
99-
echo "CC=$(CC)" >> $(INSTALL_DIR)/config
100-
echo "CCC=$(CCC)" >> $(INSTALL_DIR)/config
101-
echo "CC_FLAGS=$(CC_FLAGS)" >> $(INSTALL_DIR)/config
102-
echo "CCC_FLAGS=$(CCC_FLAGS)" >> $(INSTALL_DIR)/config
103-
echo "CC_INCLUDE=$(CC_INCLUDE) -I $(INSTALL_DIR) -I $(INSTALL_DIR)/include" >> $(INSTALL_DIR)/config
104-
echo "CCC_INCLUDE=$(CCC_INCLUDE) -I $(INSTALL_DIR) -I $(INSTALL_DIR)/include" >> $(INSTALL_DIR)/config
105-
echo "CLINKER=$(CLINKER)" >> $(INSTALL_DIR)/config
106-
echo "CCLINKER=$(CCLINKER)" >> $(INSTALL_DIR)/config
107-
echo "CLINKER_FLAGS=$(CLINKER_FLAGS)" >> $(INSTALL_DIR)/config
108-
echo "CCLINKER_FLAGS=$(CCLINKER_FLAGS)" >> $(INSTALL_DIR)/config
109-
echo "LIB_PATH=$(LIB_PATH)" >> $(INSTALL_DIR)/config
110-
echo "LIBS=$(LIBS)" >> $(INSTALL_DIR)/config
111-
echo "ANT=$(ANT)" >> $(INSTALL_DIR)/config
112-
echo "# full path to 'CL/opencl.h' (on Windows/UNIX) or 'OpenCL/opencl.h' (on Apple)" >> $(INSTALL_DIR)/config
113-
echo "# (WITHOUT 'CL/opencl.h' or 'OpenCL/opencl.h'!)" >> $(INSTALL_DIR)/config
114-
echo "OPENCL_INCL=$(OPENCL_INCL)" >> $(INSTALL_DIR)/config
115-
echo "# full path to OpenCL library (for example, '/usr/lib')" >> $(INSTALL_DIR)/config
116-
echo "OPENCL_LIB_FLD=$(OPENCL_LIB_FLD)" >> $(INSTALL_DIR)/config
74+
cp config $(INSTALL_DIR)/config
11775

11876
.PHONY: src/java

config.in

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,34 +5,35 @@ PARUS_VERSION=@PACKAGE_VERSION@
55
INSTALL_DIR=@prefix@
66
#INSTALL_DIR=$(HOME)/network_tests-$(PARUS_VERSION)
77
MPI_HOME=
8-
MPI_cc=@MPICC@
9-
MPI_CC=@MPICXX@
10-
MPI_CLINKER=$(MPI_cc)
8+
MPI_CC=@MPICC@
9+
MPI_CXX=@MPICXX@
1110
MPI_CCLINKER=$(MPI_CC)
12-
MPI_LIB_PATH= @MPI_LDFLAGS@
13-
MPI_LIBS= @MPI_LIBS@
14-
MPI_cc_INCLUDE=
15-
MPI_CC_INCLUDE=$(MPI_cc_INCLUDE)
16-
MPI_cc_FLAGS= @MPI_CFLAGS@
17-
MPI_CC_FLAGS= @MPI_CXXFLAGS@
18-
MPI_CLINKER_FLAGS=
11+
MPI_CXXLINKER=$(MPI_CXX)
12+
MPI_LIB_PATH=@MPI_LDFLAGS@
13+
MPI_LIBS=@MPI_LIBS@
14+
MPI_CC_INCLUDE=
15+
MPI_CXX_INCLUDE=$(MPI_CC_INCLUDE)
16+
MPI_CC_FLAGS=@MPI_CFLAGS@
17+
MPI_CXX_FLAGS=@MPI_CXXFLAGS@
1918
MPI_CCLINKER_FLAGS=
19+
MPI_CXXLINKER_FLAGS=
2020
NETCDF_INCLUDE=
2121
CC=@CC@
22-
CCC=@CXX@
23-
CC_FLAGS= @CFLAGS@
24-
CCC_FLAGS= @CXXFLAGS@
25-
CC_INCLUDE=
26-
CCC_INCLUDE= $(CC_INCLUDE)
27-
CLINKER=$(CC)
28-
CCLINKER=$(CCC)
29-
CLINKER_FLAGS=
22+
CXX=@CXX@
23+
CC_FLAGS=@CFLAGS@
24+
CXX_FLAGS=@CXXFLAGS@
25+
CC_INCLUDE=
26+
CXX_INCLUDE=$(CC_INCLUDE)
27+
CCLINKER=$(CC)
28+
CXXLINKER=$(CXX)
3029
CCLINKER_FLAGS=
30+
CXXLINKER_FLAGS=
3131
LIB_PATH=
3232
LIBS=
3333
ANT=@ANT@
3434
JAVAC=@JAVAC@
3535
JAR=@JAR@
36+
GOALS=@GOALS@
3637

3738
# full path to 'CL/opencl.h' (on Windows/UNIX) or 'OpenCL/opencl.h' (on Mac)
3839
# (WITHOUT 'CL/opencl.h' or 'OpenCL/opencl.h'!)

configure.ac

Lines changed: 64 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -3,72 +3,105 @@
33

44
AC_PREREQ([2.69])
55
AC_INIT([network-tests2], [2.0.1], [Alexey Salnikov <[email protected]>])
6-
#AC_CONFIG_SRCDIR([parus_config.h])
7-
#AC_CONFIG_HEADERS([config.h])
6+
7+
# Wrapper for AC_ARG_ENABLE for basic rules
8+
AC_DEFUN([AX_ARG_ENABLE],
9+
[AC_ARG_ENABLE([$1],
10+
[AS_HELP_STRING([--enable-$1], [$4])],
11+
[AS_CASE(["${enableval}"],
12+
[yes], [AS_VAR_APPEND([GOALS], [$2])],
13+
[no], [],
14+
[AC_MSG_ERROR([Bad value ${enableval} for --enable-$1])]
15+
)
16+
]
17+
[AS_VAR_APPEND([GOALS], [$3])]
18+
)
19+
]
20+
)
21+
22+
# Wrapper for AC_CHECK_PROG with gentle error
23+
AC_DEFUN([AX_CHECK_PROG],
24+
[AC_CHECK_PROG([HAVE_$1], $$1, [true], [false])
25+
AS_IF([test "x$HAVE_$1" == "xfalse"],
26+
[AC_MSG_ERROR([$2])]
27+
)
28+
]
29+
)
830

931
AC_ARG_VAR([JAVAC], [Place where javac is installed])
1032
AC_ARG_VAR([JAR], [Place where jar is installed])
1133
AC_ARG_VAR([ANT], [Place where ant utility is installed])
12-
34+
# TODO: Change the value for qmake for QT5 later
35+
AC_ARG_VAR([QMAKE], [Place where qmake-qt4 is installed])
1336
AC_ARG_VAR([MPICC], [Path to MPI2 compatible C-compiler])
1437
AC_ARG_VAR([MPICXX], [Path to MPI2 compatible C++-compiler])
1538
AC_ARG_VAR([MPI_CFLAGS], [Flags for MPI C compiler by default same with CFLAGS])
1639
AC_ARG_VAR([MPI_CXXFLAGS], [Flags for MPI C++ compiler by default same with CXXFLAGS])
1740
AC_ARG_VAR([MPI_LIBS], [Additional libs for parallel program])
1841
AC_ARG_VAR([MPI_LDFLAGS], [Path to additional libs for parallel program])
42+
AC_ARG_VAR([GOALS], [List of goals to be built])
1943

20-
AC_ARG_ENABLE([java-gui],
21-
[AS_HELP_STRING([--enable-java-gui],
22-
[Enable Java version of network-viewer program (disabled by default)]
23-
)
24-
],
44+
AX_ARG_ENABLE([java-gui], [" java "], [""],
45+
[Enable Java version of network-viewer program (disabled by default)]
46+
) # java
47+
AX_ARG_ENABLE([qt-gui], [" network_viewer_qt_v2 "], [""],
48+
[Enable Qt version of network-viewer program (disabled by default)]
49+
) # network_viewer_qt_v2
50+
AX_ARG_ENABLE([network-test], [" network_test "], [" network_test "],
51+
[Enable testing (enabled by default)]
52+
) # network-test
53+
AX_ARG_ENABLE([clustering], [" clustering "], [""],
54+
[Enable clustering (disabled by default)]
55+
) # clustering
56+
57+
AC_ARG_ENABLE([all],
58+
[AS_HELP_STRING([--enable-all], [Enable all modules])],
2559
[AS_CASE(["${enableval}"],
26-
[yes], [AC_SUBST([JAVA_GUI], [enabled])],
27-
[no], [AC_SUBST([JAVA_GUI], [disabled])],
28-
[AC_MSG_ERROR([Bad value ${enableval} for --enable-java-gui])]
60+
[yes], [AC_SUBST([GOALS], ["java network_test network_viewer_qt_v2 clustering"])],
61+
[no], [],
62+
[AC_MSG_ERROR([Bad value ${enableval} for --enable-all])]
2963
)
30-
],
31-
[AC_SUBST([JAVA_GUI],[disabled])]
32-
) # java-gui
64+
]
65+
# nothing to do because feature is disabled by default
66+
) # all
3367

3468
AS_IF([test "x$JAVAC" = "x"], [AC_SUBST([JAVAC], [javac])])
3569
AS_IF([test "x$JAR" = "x"], [AC_SUBST([JAR], [jar])])
3670
AS_IF([test "x$ANT" = "x"], [AC_SUBST([ANT], [ant])])
3771
AS_IF([test "x$MPICC" = "x"], [AC_SUBST([MPICC], [mpicc])])
3872
AS_IF([test "x$MPICXX" = "x"], [AC_SUBST([MPICXX], [mpicxx])])
73+
AS_IF([test "x$QMAKE" = "x"], [AC_SUBST([QMAKE], [qmake-qt4])])
3974

4075
AC_PREFIX_DEFAULT([$HOME/network_tests-$PACKAGE_VERSION])
4176

4277
# Checks for programs.
4378
AC_PROG_CXX
4479
AC_PROG_CC
45-
#AC_PROG_INSTALL
4680
AC_PROG_LN_S
4781
AC_PROG_RANLIB
4882

49-
AC_CHECK_PROG([HAVE_MPICC], $MPICC, [true], [false])
50-
AS_IF([test "x$HAVE_MPICC" = "xfalse"],
51-
[AC_MSG_ERROR([MPI compiler for C programming language is not found])]
52-
)
53-
54-
AC_CHECK_PROG([HAVE_MPICXX], $MPICXX, [true], [false])
55-
AS_IF([test "x$HAVE_MPICXX" = "xfalse"],
56-
[AC_MSG_ERROR([MPI compiler for C++ programming language is not found])]
57-
)
83+
AX_CHECK_PROG([MPICC], [MPI compiler for C programming language has not been found])
84+
AX_CHECK_PROG([MPICXX], [MPI compiler for C++ programming language has not been found])
85+
AS_CASE(["$GOALS"],
86+
[*"java"*], [
87+
AX_CHECK_PROG([ANT], [ant is required but has not been found])
88+
AX_CHECK_PROG([JAR], [jar is required but has not been found])
89+
AX_CHECK_PROG([JAVAC], [javac is required but has not been found])
90+
],
91+
[*"qt"*], [
92+
AX_CHECK_PROG([QMAKE], [qmake-qt4 is required but has not been found])
93+
AC_CHECK_LIB([qwt-qt4],[QwtPlot::axisScaleEngine])
94+
]
95+
)
5896

5997
AS_IF([test "x$MPI_CFLAGS" = "x"], [AC_SUBST([MPI_CFLAGS], $CFLAGS)])
6098
AS_IF([test "x$MPI_CXXFLAGS" = "x"], [AC_SUBST([MPI_CXXFLAGS], $CXXFLAGS)])
6199
AS_IF([test "x$MPI_LDFLAGS" = "x"], [AC_SUBST([MPI_LDFLAGS], $LDFLAGS)])
62100
AS_IF([test "x$MPI_LIBS" = "x"], [AC_SUBST([MPI_LIBS], $LIBS)])
63101

64-
#AX_MPI([`echo MPI found'],[`echo MPI not FOUND'])
65-
#AC_OPENMP
66102
# Checks for libraries.
67-
# FIXME: Replace `main' with a function in `-lnetcdf':
103+
# -lqwt-qt4 -lnetcdf -lGLU -lQtOpenGL -lQtGui -lQtCore -lGL -lpthread
68104
AC_CHECK_LIB([netcdf], [nc_open])
69-
AC_CHECK_LIB([qwt-qt4],[QwtPlot::axisScaleEngine])
70-
# FIXME: Replace `main' with a function in `-lparus_network':
71-
#AC_CHECK_LIB([parus_network], [main])
72105

73106
# Checks for header files.
74107
AC_CHECK_HEADERS([stdlib.h string.h sys/time.h unistd.h])
@@ -84,5 +117,5 @@ AC_FUNC_REALLOC
84117
AC_FUNC_STRTOD
85118
AC_CHECK_FUNCS([clock_gettime floor gethostname gettimeofday localeconv memset sqrt strchr strstr])
86119

87-
AC_CONFIG_FILES([config Makefile])
120+
AC_CONFIG_FILES([config Makefile parus_config.h])
88121
AC_OUTPUT

parus_config.h.in

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#ifndef __PARUS_CONFIG_H__
2+
#define __PARUS_CONFIG_H__
3+
#define PARUS_VERSION "@PACKAGE_VERSION@"
4+
#define PARUS_INSTALL_DIR "@prefix@"
5+
#define PARUS_DATA_DIR "@prefix@/var/spool/network_tests2"
6+
#endif /* __PARUS_CONFIG_H__ */

src/clustering/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ $(EXTERN_OBJS):
1919

2020

2121
%.o: %.cpp
22-
$(CCC) $(CCC_FLAGS) $(CCC_INCLUDE) $(NETCDF_INCLUDE) -c -o $@ $^
22+
$(CXX) $(CXX_FLAGS) $(CXX_INCLUDE) $(NETCDF_INCLUDE) -c -o $@ $^
2323

2424
$(EXECS): $(OBJS) $(EXTERN_OBJS)
25-
$(CCLINKER) $(CCLINKER_FLAGS) -o $@ $^ $(NETCDF_LIBS)
25+
$(CXXLINKER) $(CXXLINKER_FLAGS) -o $@ $^ $(NETCDF_LIBS)
2626

2727
install: $(EXECS)
2828
cp -rf $^ $(INSTALL_DIR)/bin

src/clustering/core/Makefile

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
include ../../../config
22

3-
4-
53
data_netcdf.o: data_netcdf.cpp
6-
$(CCC) $(CCC_FLAGS) $(CCC_INCLUUDE) $(NETCDF_INCLUDE) -c -o $@ $^
7-
4+
$(CXX) $(CXX_FLAGS) $(CXX_INCLUUDE) $(NETCDF_INCLUDE) -c -o $@ $^
85

96
clean:
107
rm -f *.o

0 commit comments

Comments
 (0)