aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLAN-TW <lantw44@gmail.com>2013-04-12 02:23:03 +0800
committerLAN-TW <lantw44@gmail.com>2013-04-12 02:25:00 +0800
commitb06d98a6788d2b2d75b56b8fadfd9ccda3db40c3 (patch)
tree182ea5be824d8c2a76310b272787cb01b2c2df22
parentd0f23b62e732ddbf963b30070bad9203bee9e88b (diff)
downloadtaiwan-online-judge-lantw44-b06d98a6788d2b2d75b56b8fadfd9ccda3db40c3.tar.gz
taiwan-online-judge-lantw44-b06d98a6788d2b2d75b56b8fadfd9ccda3db40c3.tar.zst
taiwan-online-judge-lantw44-b06d98a6788d2b2d75b56b8fadfd9ccda3db40c3.zip
Add library checks
-rw-r--r--configure.ac27
-rw-r--r--judge/Makefile.am13
2 files changed, 22 insertions, 18 deletions
diff --git a/configure.ac b/configure.ac
index 8161f9d..6febf5c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -38,19 +38,22 @@ AM_PROG_CC_C_O
AM_PROG_AR
AC_PROG_LIBTOOL
+
# Checks for libraries.
-# FIXME: Replace `main' with a function in `-lbz2':
-AC_CHECK_LIB([bz2], [main])
-# FIXME: Replace `main' with a function in `-lcurl':
-AC_CHECK_LIB([curl], [main])
-# FIXME: Replace `main' with a function in `-ldl':
-AC_CHECK_LIB([dl], [main])
-# FIXME: Replace `main' with a function in `-ljson':
-AC_CHECK_LIB([json], [main])
-# FIXME: Replace `main' with a function in `-lpq':
-AC_CHECK_LIB([pq], [main])
-# FIXME: Replace `main' with a function in `-ltar':
-AC_CHECK_LIB([tar], [main])
+AC_CHECK_LIB([bz2], [BZ2_bzCompress], [true],
+ AC_MSG_ERROR([bzip2 is missing]))
+AC_CHECK_LIB([dl], [dlopen], [true],
+ AC_MSG_ERROR([dl is missing]))
+AC_CHECK_LIB([tar], [tar_open], [true],
+ AC_MSG_ERROR([libtar is missing]))
+AC_CHECK_LIB([pq], [PQconnectdb], [true],
+ AC_MSG_ERROR([PostgreSQL client library is missing]))
+
+# pkg-config
+PKG_CHECK_MODULES([CURL], [libcurl], [true],
+ AC_MSG_ERROR([curl is missing]))
+PKG_CHECK_MODULES([JSON], [json], [true],
+ AC_MSG_ERROR([json is missing]))
# Checks for header files.
AC_CHECK_HEADERS([arpa/inet.h fcntl.h limits.h netinet/in.h stdlib.h string.h sys/ioctl.h sys/socket.h unistd.h])
diff --git a/judge/Makefile.am b/judge/Makefile.am
index 06a8059..6f889d5 100644
--- a/judge/Makefile.am
+++ b/judge/Makefile.am
@@ -1,8 +1,9 @@
bin_PROGRAMS = center_server judge_server
-center_server_CFLAGS = -I../include -rdynamic -fvisibility=hidden -pthread
+center_server_CFLAGS = -I../include -rdynamic -fvisibility=hidden -pthread \
+ $(JSON_CFLAGS) $(CURL_CFLAGS)
center_server_LDFLAGS = -pthread
-center_server_LDADD = -ldl -lpq -ltar -lbz2 -ljson -lcurl
+center_server_LDADD = -ldl -lpq -ltar -lbz2 $(JSON_LIBS) $(CURL_LIBS)
center_server_SOURCES = center_server.cpp center_manage.cpp center_judge.cpp tool.cpp event_exec.cpp
judge_server_CFLAGS = -I../include -pthread
@@ -18,11 +19,11 @@ libjmod_test_check_la_LIBADD =
libjmod_test_check_la_SOURCES = jmod_test_check.cpp
libjmod_test_line_la_CFLAGS = -I../include -pthread
-libjmod_test_line_la_LDFLAGS = -pthread
-libjmod_test_line_la_LIBADD = -ljson
+libjmod_test_line_la_LDFLAGS = -pthread $(JSON_CFLAGS)
+libjmod_test_line_la_LIBADD = $(JSON_LIBS)
libjmod_test_line_la_SOURCES = jmod_test_line.cpp
libjmod_test_manage_la_CFLAGS = -I../include -pthread
-libjmod_test_manage_la_LDFLAGS = -pthread
-libjmod_test_manage_la_LIBADD = -ldl -ljson
+libjmod_test_manage_la_LDFLAGS = -pthread $(JSON_CFLAGS)
+libjmod_test_manage_la_LIBADD = -ldl $(JSON_LIBS)
libjmod_test_manage_la_SOURCES = jmod_test_manage.cpp