aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLAN-TW <lantw44@gmail.com>2012-10-27 21:44:31 +0800
committerLAN-TW <lantw44@gmail.com>2012-10-27 21:44:31 +0800
commitaadb952c45398bf1b08f8b04d9804a7355e0b462 (patch)
tree54dffc704d34bcb9b1eb7a352df72bf6aa1a06e3
parentdbae53af22cb25693e91e38a72a64f68813ae36a (diff)
downloadsctjudge-aadb952c45398bf1b08f8b04d9804a7355e0b462.tar.gz
sctjudge-aadb952c45398bf1b08f8b04d9804a7355e0b462.tar.zst
sctjudge-aadb952c45398bf1b08f8b04d9804a7355e0b462.zip
套件製作者可利用 configure 的 --disable-check 略過所有檢測sctjudge-1.0-rc1
make dist 或是 rpmbuild 這些動作沒有進行檢測的必要,這個參數可讓 configure 提早結束並產生 Makefile 和 RPM spec 檔案。
-rw-r--r--configure.ac28
1 files changed, 20 insertions, 8 deletions
diff --git a/configure.ac b/configure.ac
index 1b9bada..60c0653 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6,6 +6,7 @@ AM_INIT_AUTOMAKE([foreign -Wall])
AM_SILENT_RULES([yes])
AC_CONFIG_SRCDIR([src/main.c])
AC_CONFIG_HEADERS([src/config.h])
+AC_CONFIG_FILES([Makefile sctjudge.spec src/Makefile src/version.h])
releasedate="2012-10-27"
rpmversion="1.0"
@@ -14,10 +15,28 @@ rpmversion="1.0"
AC_PROG_CC
AM_PROG_CC_C_O
+# 寫入版本資訊
+AC_SUBST([PROGRAM_NAME], [AC_PACKAGE_NAME])
+AC_SUBST([PROGRAM_VERSION], [AC_PACKAGE_VERSION])
+AC_SUBST([PROGRAM_RPMVERSION], $rpmversion)
+AC_SUBST([PROGRAM_DATE], $releasedate)
+
+# 提早離開 configure 的途徑
+AC_ARG_ENABLE([check],
+ [AS_HELP_STRING([--disable-check],
+ [skip all checks])],
+ [opt_check=$enableval], [opt_check=yes])
+
+if test x"${opt_check}" = xno; then \
+ AC_OUTPUT
+ echo "WARNING: ALL CHECKS ARE SKIPPED!"
+ echo "WARNING: Generated Makefile(s) cannot be used to build the package!"
+ exit 0
+fi
+
# 和預設的 CFLAGS 說再見
test -n "${CFLAGS}" && CFLAGS="-g"
-
# 偵錯很重要,但使用者應該不需要
AC_ARG_ENABLE([debug],
[AS_HELP_STRING([--enable-debug],
@@ -119,12 +138,6 @@ fi
AM_CONDITIONAL([USING_SETCAP], [test x"${opt_cap}" = xyes])
-# 寫入版本資訊
-AC_SUBST([PROGRAM_NAME], [AC_PACKAGE_NAME])
-AC_SUBST([PROGRAM_VERSION], [AC_PACKAGE_VERSION])
-AC_SUBST([PROGRAM_RPMVERSION], $rpmversion)
-AC_SUBST([PROGRAM_DATE], $releasedate)
-
# Checks for header files.
AC_CHECK_HEADERS([fcntl.h locale.h stdlib.h string.h sys/time.h unistd.h])
@@ -152,7 +165,6 @@ test x"${opt_ugidname}" = xyes && \
AC_DEFINE([HAVE_CONF_UGIDNAME], [1],
[Conversion between user or group ID and name])
-AC_CONFIG_FILES([Makefile sctjudge.spec src/Makefile src/version.h])
AC_OUTPUT
confmsgsave="config.msg"