2015-07-01 8 views
0

У меня есть сценарий в системе, который я могу установить в свой каталог установки, однако я хочу сделать это только в режиме выпуска. Таким образом, у меня есть конфигурационный флаг --enable-release управлять этим:Условно копирование скрипта из системы в каталог установки

AC_ARG_ENABLE(release, 
       AC_HELP_STRING([--enable-release], 
          [enable release build, default: no]), 
       [case "${enableval}" in 
        yes) release=yes ;; 
        no) release=no ;; 
        *) AC_MSG_ERROR([bad value ${enableval} for --enable-release]) ;; 
       esac], 
       [release=no]) 
if test "x$release" != xno; then 
    AC_DEFINE([PRODUCT_RELEASE], [1], 
       [Define if we are preparing a release build.]) 
fi 
AM_CONDITIONAL([RELEASE], [test "x$release != xno"]) 

Тогда у меня есть еще один флаг настроить так, чтобы пользователь мог поручить настроить с помощью пути к сценарию:

AC_ARG_WITH(script-path, 
    AS_HELP_STRING(--with-script-path,[Path of script binaries]), 
    AC_SUBST(SCRIPTPATH,[$withval])) 
AC_PATH_PROG([SMTSCRIPT], [cvc4], [no], [$SCRIPTPATH:$PATH]) 

if test "x$ac_cv_path_SMTSCRIPT" != xno; then 
    AC_DEFINE([HAVE_SCRIPT], [1], 
          [Define if we could find SMT script in path.]) 
    if test "x$release" != xno; then 
     SMTSCRIPT_CPPFLAGS="-DSOLVERBIN=\"\\\"$ac_cv_path_SMTSCRIPT\\\"\"" 
    else 
     SMTSCRIPT_CPPFLAGS="-DSCRIPTBIN=\"\\\"$bindir/cvc4\\\"\"" 
    fi 
    AC_SUBST([SMTSCRIPT_CPPFLAGS]) 
fi 

В Makefile.am I пробовал:

dist_bin_SCRIPTS = $(top_srcdir)/scripts/asmWrapper.py $(top_srcdir)/scripts/live_bar.py 
if RELEASE 
    dist_bin_SCRIPTS += $(SCRIPTPATH)/cvc4 
endif 

к сожалению Automake, кажется, игнорировать мои, если и dist_bin_SCRIPT никогда не будет приложено пути к cvc4.

+0

Оффлайн выглядит разумно, хотя я не думаю, что вы хотите «dist_» для сценария, который, по-видимому, не является частью вашего проекта. Я бы начал с поиска в Makefile, чтобы узнать, как определяется RELEASE. –

ответ

0

Проблема заключается в том, что вкладка условного добавления dist_bin_SCRIPTS. Это работает:

dist_bin_SCRIPTS = $(top_srcdir)/scripts/asmWrapper.py $(top_srcdir)/scripts/live_bar.py 
if RELEASE 
dist_bin_SCRIPTS += $(SCRIPTPATH)/cvc4 
endif 

 Смежные вопросы

  • Нет связанных вопросов^_^