Skip to content

Commit

Permalink
Merge pull request #601 from p-montanus/arrange-cpp-macro-definitions
Browse files Browse the repository at this point in the history
build: Arrange '-D' cpp macro definitions
  • Loading branch information
masatake committed Oct 12, 2015
2 parents eec5698 + f3079be commit f256757
Show file tree
Hide file tree
Showing 7 changed files with 66 additions and 23 deletions.
22 changes: 5 additions & 17 deletions Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -68,12 +68,10 @@ CGCC_CFLAGS = @CGCC_CFLAGS@

ALL_CFLAGS = $(CFLAGS) $(EXTRA_CFLAGS) $(WARNING_CFLAGS) $(COVERAGE_CFLAGS) $(CGCC_CFLAGS)

DEBUG_CPPFLAGS ?= -DDEBUG
EXTRA_CPPFLAGS = @EXTRA_CPPFLAGS@
DEBUG_CPPFLAGS ?= @DEBUG_CPPFLAGS@
ALL_CPPFLAGS = $(CPPFLAGS) \
$(DEBUG_CPPFLAGS) \
-DDATADIR=\"$(pkgdatadir)\" \
-DPKGCONFDIR=\"$(pkgsysconfdir)\" \
-DPKGLIBEXECDIR=\"$(pkglibexecdir)\"
$(DEBUG_CPPFLAGS)

include $(srcdir)/source.mak

Expand Down Expand Up @@ -174,7 +172,7 @@ $(CTAGS_EXEC): $(OBJECTS)
$(V_CC) $(CC) $(LDFLAGS) -o $@ $(OBJECTS) $(LIBS)

$(READ_CMD): readtags.c readtags.h
$(V_CC) $(CC) -DREADTAGS_MAIN -I. -I$(srcdir) -I$(srcdir)/main $(DEFS) $(ALL_CPPFLAGS) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(srcdir)/readtags.c
$(V_CC) $(CC) -I. -I$(srcdir) -I$(srcdir)/main $(DEFS) $(ALL_CPPFLAGS) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(srcdir)/readtags.c

$(OBJECTS): $(HEADERS) config.h Makefile

Expand Down Expand Up @@ -358,17 +356,7 @@ maintainerclean: distclean
$(SILENT) dir="$$(dirname $@)"; mkdir -p "$$dir"
$(V_CC) $(CC) -I. -I$(srcdir) -I$(srcdir)/main $(DEFS) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -o $@ -c $<
$(addsuffix .$(OBJEXT),$(basename $(notdir $(REGEX_SOURCES)))): ALL_CPPFLAGS += \
-D_GNU_SOURCE -D__USE_GNU -Dbool=int -Dfalse=0 -Dtrue=1

REV := $(shell git rev-parse --short HEAD 2>/dev/null || echo 0)
ALL_CPPFLAGS += -DCTAGS_COMMIT_ID=0x$(REV)

options.$(OBJEXT): commit-stamp
entry.$(OBJEXT): commit-stamp

commit-stamp: FORCE
echo "$(REV)" > $@.tmp
if diff -q $@ $@.tmp; then rm -f $@.tmp; else mv -f $@.tmp $@; fi
$(EXTRA_CPPFLAGS)

#
# check
Expand Down
50 changes: 50 additions & 0 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,13 @@ AC_DEFUN([PRETTY_ARG_VAR], [
fi
])

# PRETTY_VAR_EXPAND(VARIABLE)
# ---------------------------
# Expand nested variable.
# e.g. "\$\{prefix\}/bin" to "/usr/local/bin"
AC_DEFUN([PRETTY_VAR_EXPAND],
[$(eval "$as_echo_n" $(eval "$as_echo_n" "${$1}"))])

# Checks for configuration options
# --------------------------------

Expand Down Expand Up @@ -245,6 +252,20 @@ AC_SUBST([pkgdatadir])
AC_SUBST([pkgsysconfdir])
AC_SUBST([pkglibexecdir])

AH_TEMPLATE([PKGDATADIR], [installation directory of 'universal-ctags'-specific read-only architecture-independent data.])
AH_TEMPLATE([PKGSYSCONFDIR], [installation directory of 'universal-ctags'-specific read-only single-machine data.])
AH_TEMPLATE([PKGLIBEXECDIR], [installation directory of 'universal-ctags'-specific program executables.])

AC_CONFIG_COMMANDS_PRE([
PKGDATADIR="PRETTY_VAR_EXPAND([pkgdatadir])"
PKGSYSCONFDIR="PRETTY_VAR_EXPAND([pkgsysconfdir])"
PKGLIBEXECDIR="PRETTY_VAR_EXPAND([pkglibexecdir])"
AC_DEFINE_UNQUOTED([PKGDATADIR], ["${PKGDATADIR}"])
AC_DEFINE_UNQUOTED([PKGSYSCONFDIR], ["${PKGSYSCONFDIR}"])
AC_DEFINE_UNQUOTED([PKGLIBEXECDIR], ["${PKGLIBEXECDIR}"])
])


install_targets="install-ctags install-data install-libexec"
AC_MSG_CHECKING(whether to install link to etags)
Expand Down Expand Up @@ -340,6 +361,13 @@ AC_PROG_LN_S
AC_CHECK_PROG(STRIP, strip, strip, :)
AC_SYS_LARGEFILE

AC_CHECK_PROGS([GIT], [git])
if test "${GIT+set}" = "set"; then
AH_TEMPLATE([CTAGS_COMMIT_ID], [Git short commit ID at the moment configure runs.])
git_rev=`${GIT} rev-parse --verify --short HEAD`
AC_DEFINE_UNQUOTED([CTAGS_COMMIT_ID], [0x${git_rev}])
fi


# Checks for operating environment
# --------------------------------
Expand Down Expand Up @@ -441,6 +469,23 @@ AC_EGREP_HEADER(clock_t, time.h, AC_MSG_RESULT(yes),
AC_DEFINE(clock_t, long)
])

AC_CHECK_HEADERS([stdbool.h],
[
AH_TEMPLATE([USE_STDBOOL_H], [whether or not to use <stdbool.h>.])
AC_DEFINE([USE_STDBOOL_H])
],
[
AH_TEMPLATE([bool], [type for 'bool' if <stdbool.h> is missing or broken.])
AH_TEMPLATE([true], [value of 'true' if <stdbool.h> is missing or broken.])
AH_TEMPLATE([false], [value of 'false' if <stdbool.h> is missing or broken.])
AC_CHECK_TYPES([_Bool],
[AC_DEFINE([bool], [_Bool])],
[AC_DEFINE([bool], [int])])
AC_DEFINE([true], [1])
AC_DEFINE([false], [0])
])


# Checks for compiler characteristics
# -----------------------------------
Expand Down Expand Up @@ -478,6 +523,11 @@ if test yes != "$host_mingw"; then
fi
fi

PRETTY_ARG_VAR([EXTRA_CPPFLAGS], [extra (Objective) C/C++ preprocessor flags],
[-D_GNU_SOURCE -D__USE_GNU])
PRETTY_ARG_VAR([DEBUG_CPPFLAGS], [(Objective) C/C++ preprocessor debug flags],
[-DDEBUG])

PRETTY_ARG_VAR([EXTRA_CFLAGS], [extra C compiler flags],
[-std=gnu99])
PRETTY_ARG_VAR([WARNING_CFLAGS], [C compiler warning flags],
Expand Down
4 changes: 4 additions & 0 deletions main/general.h
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,10 @@
* DATA DECLARATIONS
*/

#ifdef USE_STDBOOL_H
# include <stdbool.h>
#endif

#undef FALSE
#undef TRUE
#ifdef __cplusplus
Expand Down
8 changes: 4 additions & 4 deletions main/options.c
Original file line number Diff line number Diff line change
Expand Up @@ -2649,12 +2649,12 @@ static void installDataPathList (void)
vStringDelete (home);
}
}
#ifdef PKGCONFDIR
appendToDataPathList (PKGCONFDIR, FALSE);
#ifdef PKGSYSCONFDIR
appendToDataPathList (PKGSYSCONFDIR, FALSE);
#endif

#ifdef DATADIR
appendToDataPathList (DATADIR, FALSE);
#ifdef PKGDATADIR
appendToDataPathList (PKGDATADIR, FALSE);
#endif
}

Expand Down
2 changes: 1 addition & 1 deletion mk_mingw.mak
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ ctags.exe dctags.exe: $(OBJECTS) $(HEADERS) $(REGEX_HEADERS) $(FNMATCH_HEADERS)
$(V_CC) $(CC) $(OPT) $(CFLAGS) $(LDFLAGS) $(DEFINES) $(INCLUDES) -o $@ $(OBJECTS) $(LIBS)

readtags.exe: readtags.c
$(V_CC) $(CC) $(OPT) $(CFLAGS) -DREADTAGS_MAIN $(DEFINES) $(INCLUDES) -o $@ $<
$(V_CC) $(CC) $(OPT) $(CFLAGS) $(DEFINES) $(INCLUDES) -o $@ $<

clean:
$(SILENT) echo Cleaning
Expand Down
2 changes: 1 addition & 1 deletion mk_mvc.mak
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ ctags.exe: respmvc
cl $(OPT) /Fe$@ @respmvc /link setargv.obj $(LIBS)

readtags.exe: readtags.c
cl /clr $(OPT) /Fe$@ $(DEFINES) -DREADTAGS_MAIN readtags.c /link setargv.obj
cl /clr $(OPT) /Fe$@ $(DEFINES) readtags.c /link setargv.obj

# Debug version
dctags.exe: respmvc
Expand Down
1 change: 1 addition & 0 deletions readtags.c
Original file line number Diff line number Diff line change
Expand Up @@ -782,6 +782,7 @@ extern tagResult tagsClose (tagFile *const file)
* TEST FRAMEWORK
*/

#define READTAGS_MAIN
#ifdef READTAGS_MAIN

static const char *TagFileName = "tags";
Expand Down

0 comments on commit f256757

Please sign in to comment.