From 89b5297e5ba90c5b971d8b928ae72b13915aae10 Mon Sep 17 00:00:00 2001 From: Maxim Mamontov Date: Mon, 20 Dec 2010 13:20:44 +0200 Subject: [PATCH] =?utf8?q?=D0=9F=D1=80=D0=B8=D0=B2=D0=B5=D0=B4=D0=B5=D0=BD?= =?utf8?q?=D1=96=20=D0=B4=D0=BE=20=D0=BD=D0=BE=D1=80=D0=BC=D0=B0=D0=BB?= =?utf8?q?=D1=8C=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=B2=D0=B8=D0=B3=D0=BB=D1=8F?= =?utf8?q?=D0=B4=D1=83=20=D1=84=D0=B0=D0=B9=D0=BB=D0=B8=20=D0=B4=D0=BB?= =?utf8?q?=D1=8F=20=D0=B7=D0=B1=D0=BE=D1=80=D0=BA=D0=B8=20sgconf=5Fxml?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- projects/sgconf_xml/Makefile | 34 +++++++++++------------ projects/sgconf_xml/build | 53 +++++++++++++++++++++++++++++------- 2 files changed, 60 insertions(+), 27 deletions(-) diff --git a/projects/sgconf_xml/Makefile b/projects/sgconf_xml/Makefile index 168bf9f4..d0a5550c 100644 --- a/projects/sgconf_xml/Makefile +++ b/projects/sgconf_xml/Makefile @@ -4,7 +4,7 @@ include ../../Makefile.conf -PROG = sgconf +PROG = sgconf_xml SRCS = ./main.cpp \ ./parser.cpp @@ -14,32 +14,32 @@ LIBS = -lconffiles \ -lstg_common \ -lsrvconf -ifeq ($(OS),linux) LIBS += -lexpat \ - -lpthread \ - -ldl + $(LIB_THREAD) + +ifeq ($(OS),linux) +LIBS += -ldl +else +LIBS += -lc \ + -liconv endif +SEARCH_DIRS = -I $(DIR_INCLUDE) + ifeq ($(OS),bsd) -LIBS += -lexpat \ - -lc_r \ - -lc +SEARCH_DIRS += -I/usr/local/include +CXXFLAGS += -DHAVE_DECL_GETOPT=1 endif ifeq ($(OS),bsd5) -LIBS += -lexpat \ - -lc_r \ - -lc +SEARCH_DIRS += -I/usr/local/include +CXXFLAGS += -DHAVE_DECL_GETOPT=1 endif -SEARCH_DIRS = -I $(DIR_INCLUDE) - OBJS = $(notdir $(patsubst %.cpp, %.o, $(patsubst %.c, %.o, $(SRCS)))) -CC = g++ - -CFLAGS += -Wall -LDFLAGS += -Wl,-E -L$(DIR_LIB) -Wl,-rpath,$(PREFIX)/usr/lib/stg +CXXFLAGS += -Wall +LDFLAGS += -Wl,-E -L$(DIR_LIB) -Wl,-rpath,$(PREFIX)/usr/lib/stg -Wl,-rpath-link,$(DIR_LIB) vpath %.so $(DIR_LIB) @@ -86,7 +86,7 @@ uninstall-data: ifneq ($(MAKECMDGOALS),distclean) ifneq ($(MAKECMDGOALS),clean) ifneq ($(MAKECMDGOALS),uninstall) -include deps +-include deps endif endif endif diff --git a/projects/sgconf_xml/build b/projects/sgconf_xml/build index cdd7e72a..a4857105 100755 --- a/projects/sgconf_xml/build +++ b/projects/sgconf_xml/build @@ -18,24 +18,25 @@ OWNER=root if [ -z $1 ] then MAKEOPTS="-j1" - CFLAGS="-O2" else if [ "$1" = "debug" ] then DEFS="-DDEBUG" MAKEOPTS="-j1" - CFLAGS="-g3" + CXXFLAGS="$CXXFLAGS -g3 -W -Wall" else MAKEOPTS="-j1" - CFLAGS="-O2" fi fi +CXXFLAGS="$CXXFLAGS -I/usr/local/include" +LDFLAGS="$LDFLAGS -L/usr/local/lib" + if [ "$sys" = "Linux" ] then OS=linux release="" - ETC_DIR="./inst/linux/etc/stargazer" + MAKE="make" fi if [ "$sys" = "FreeBSD" ] @@ -44,9 +45,11 @@ then 4) OS=bsd;; 5) OS=bsd5;; 6) OS=bsd5;; + 7) OS=bsd7;; + 8) OS=bsd7;; *) OS=unknown;; esac - ETC_DIR="./inst/freebsd/etc/stargazer" + MAKE="gmake" fi if [ "$OS" = "unknown" ] @@ -77,11 +80,39 @@ else DEFS="$DEFS -DFREE_BSD" else DEFS="$DEFS -DFREE_BSD5" + if [ "$OS" = "bsd7" ] + then + LIB_THREAD=-lpthread + else + LIB_THREAD=-lc_r + fi fi SHELL="/usr/local/bin/bash" - LIB_THREAD=-lc_r fi +echo -n "Checking endianess... " +echo "int main() { int probe = 0x00000001; return *(char *)&probe; }" > build_check.c +gcc $CXXFLAGS $LDFLAGS build_check.c -o fake > /dev/null 2> /dev/null +if [ $? != 0 ] +then + echo "FAIL!" + echo "Endianess checking failed" + exit; +else + ./fake + if [ $? = 1 ] + then + ARCH=le + CXXFLAGS="$CXXFLAGS -DARCH_LE" + echo "Little Endian" + else + ARCH=be + CXXFLAGS="$CXXFLAGS -DARCH_BE" + echo "Big Endian" + fi +fi +rm -f fake + echo -n "Checking for -lexpat... " echo "int main() { return 0; }" > build_check.c gcc build_check.c -lexpat -o fake > /dev/null 2> /dev/null @@ -103,11 +134,12 @@ then fi echo "OS=$OS" > $CONFFILE -echo "STG_TIME=no" >> $CONFFILE +echo "STG_TIME=yes" >> $CONFFILE echo "DIR_BUILD=$BUILD_DIR" >> $CONFFILE echo "DIR_LIB=\$(DIR_BUILD)/../../lib" >> $CONFFILE echo "DIR_LIBSRC=\$(DIR_BUILD)/../../stglibs" >> $CONFFILE echo "DIR_INCLUDE=\$(DIR_BUILD)/../../include" >> $CONFFILE +echo "ARCH=$ARCH" >> $CONFFILE echo "CHECK_EXPAT=$CHECK_EXPAT" >> $CONFFILE echo "DEFS=$DEFS" >> $CONFFILE echo -n "STG_LIBS=" >> $CONFFILE @@ -116,13 +148,14 @@ do echo -n "$lib " >> $CONFFILE done echo "" >> $CONFFILE +echo "LIB_THREAD=$LIB_THREAD" >> $CONFFILE echo "SHELL=$SHELL" >> $CONFFILE -echo "CFLAGS=$CFLAGS" >> $CONFFILE +echo "CXXFLAGS=$CXXFLAGS" >> $CONFFILE +echo "LDFLAGS=$LDFLAGS" >> $CONFFILE echo "PREFIX=$PREFIX" >> $CONFFILE echo "BIN_MODE=$BIN_MODE" >> $CONFFILE echo "DATA_MODE=$DATA_MODE" >> $CONFFILE echo "OWNER=$OWNER" >> $CONFFILE -echo "ETC_DIR=$ETC_DIR" >> $CONFFILE -gmake $MAKEOPTS +$MAKE $MAKEOPTS -- 2.43.2