Changeset 4711


Ignore:
Timestamp:
Jan 23, 2014 2:28:41 AM (11 years ago)
Author:
ming
Message:

Re #1723: Modified build system to link with C++ library only for pjsua2 lib or app

Location:
pjproject/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/build.mak.in

    r4705 r4711  
    173173        -I$(PJDIR)/pjsip/include 
    174174export APP_CXXFLAGS := $(APP_CFLAGS) 
    175 #  x   x  x  x  x  x  x   x  x  x  x  x  x   x  x  x  x  x  x   x  x  x  x  x 
    176 # 
    177 # FIX THIS 
    178 # 
    179 # pjsua2 is c++ library hence maybe needs to be put in separate 
    180 # variables. it will also require -lstdc++ or -static-libstdc++ 
    181 #  x   x  x  x  x  x  x   x  x  x  x  x  x   x  x  x  x  x  x   x  x  x  x  x 
    182175export APP_LDFLAGS := -L$(PJDIR)/pjlib/lib\ 
    183176        -L$(PJDIR)/pjlib-util/lib\ 
     
    187180        -L$(PJDIR)/third_party/lib\ 
    188181        $(PJ_VIDEO_LDFLAGS) \ 
    189         -static-libstdc++ \ 
    190182        @LDFLAGS@ 
    191  
    192 #  x   x  x  x  x  x  x   x  x  x  x  x  x   x  x  x  x  x  x   x  x  x  x  x 
    193 # 
    194 # FIX THIS 
    195 # 
    196 # pjsua2 is c++ library hence maybe needs to be put in separate 
    197 # variables. it will also require -lstdc++ 
    198 #  x   x  x  x  x  x  x   x  x  x  x  x  x   x  x  x  x  x  x   x  x  x  x  x 
     183export APP_LDXXFLAGS := $(APP_LDFLAGS) \ 
     184        -static-libstdc++ 
     185 
    199186export APP_LIB_FILES = \ 
    200         $(PJ_DIR)/pjsip/lib/libpjsua2-$(LIB_SUFFIX) \ 
    201187        $(PJ_DIR)/pjsip/lib/libpjsua-$(LIB_SUFFIX) \ 
    202188        $(PJ_DIR)/pjsip/lib/libpjsip-ua-$(LIB_SUFFIX) \ 
     
    211197        $(APP_THIRD_PARTY_LIB_FILES) \ 
    212198        $(PJ_DIR)/pjlib/lib/libpj-$(LIB_SUFFIX) 
     199export APP_LIBXX_FILES = \ 
     200        $(PJ_DIR)/pjsip/lib/libpjsua2-$(LIB_SUFFIX) \ 
     201        $(APP_LIB_FILES) 
    213202 
    214203ifeq ($(PJ_SHARED_LIBRARIES),) 
     
    239228export PJSUA2_LIB_LDLIB := -lpjsua2 
    240229 
    241 APP_LIB_FILES += $(PJ_DIR)/pjsip/lib/libpjsua.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsua.$(SHLIB_SUFFIX) \ 
     230export ADD_LIB_FILES := $(PJ_DIR)/pjsip/lib/libpjsua.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsua.$(SHLIB_SUFFIX) \ 
    242231        $(PJ_DIR)/pjsip/lib/libpjsip-ua.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsip-ua.$(SHLIB_SUFFIX) \ 
    243232        $(PJ_DIR)/pjsip/lib/libpjsip-simple.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsip-simple.$(SHLIB_SUFFIX) \ 
     
    250239        $(PJ_DIR)/pjlib-util/lib/libpjlib-util.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjlib-util/lib/libpjlib-util.$(SHLIB_SUFFIX) \ 
    251240        $(PJ_DIR)/pjlib/lib/libpj.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjlib/lib/libpj.$(SHLIB_SUFFIX) 
    252 endif 
    253  
    254 export APP_LDLIBS := $(PJSUA2_LIB_LDLIB) \ 
    255         $(PJSUA_LIB_LDLIB) \ 
     241 
     242APP_LIB_FILES += $(ADD_LIB_FILES) 
     243 
     244APP_LIBXX_FILES += $(PJ_DIR)/pjsip/lib/libpjsua2.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsua2.$(SHLIB_SUFFIX) \ 
     245        $(ADD_LIB_FILES) 
     246endif 
     247 
     248export APP_LDLIBS := $(PJSUA_LIB_LDLIB) \ 
    256249        $(PJSIP_UA_LDLIB) \ 
    257250        $(PJSIP_SIMPLE_LDLIB) \ 
     
    267260        $(PJLIB_LDLIB) \ 
    268261        @LIBS@ 
     262export APP_LDXXLIBS := $(PJSUA2_LIB_LDLIB) \ 
     263        -lstdc++ \ 
     264        $(APP_LDLIBS) 
    269265 
    270266# Here are the variabels to use if application is using the library 
     
    275271export PJ_CXXFLAGS := $(APP_CXXFLAGS) 
    276272export PJ_LDFLAGS := $(APP_LDFLAGS) 
     273export PJ_LDXXFLAGS := $(APP_LDXXFLAGS) 
    277274export PJ_LDLIBS := $(APP_LDLIBS) 
     275export PJ_LDXXLIBS := $(APP_LDXXLIBS) 
    278276export PJ_LIB_FILES := $(APP_LIB_FILES) 
     277export PJ_LIBXX_FILES := $(APP_LIBXX_FILES) 
    279278 
    280279# And here are the variables to use if application is using the 
  • pjproject/trunk/pjsip-apps/build/Makefile

    r4704 r4711  
    5959 
    6060export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT  
    61 ############################################################################### 
    62 # Main entry 
    63 # 
    64 # 
    65 #  x   x  x  x  x  x  x   x  x  x  x  x  x   x  x  x  x  x  x   x  x  x  x  x 
    66 # 
    67 #                FIX THIS 
    68 # 
    69 #  x   x  x  x  x  x  x   x  x  x  x  x  x   x  x  x  x  x  x   x  x  x  x  x 
    70 TARGETS := $(BINDIR)/$(PJSUA_EXE) $(BINDIR)/$(PJSYSTEST_EXE) samples 
     61 
     62TARGETS := $(PJSUA_EXE) $(PJSYSTEST_EXE) samples 
    7163 
    7264all: $(TARGETS) 
  • pjproject/trunk/pjsip-apps/build/Samples.mak

    r4705 r4711  
    1111export _CXXFLAGS:= $(PJ_CXXFLAGS) 
    1212export _LDFLAGS := $(PJ_LDFLAGS) $(PJ_LDLIBS) $(LDFLAGS) 
     13export _LDXXFLAGS := $(PJ_LDXXFLAGS) $(PJ_LDXXLIBS) $(LDFLAGS) 
    1314 
    1415SRCDIR := ../src/samples 
     
    3031           pjsip-perf \ 
    3132           pcaputil \ 
    32            pjsua2_demo \ 
    3333           playfile \ 
    3434           playsine \ 
     
    4848           vid_streamutil 
    4949 
     50PJSUA2_SAMPLES := pjsua2_demo 
     51 
    5052EXES := $(foreach file, $(SAMPLES), $(file)$(HOST_EXE)) 
     53PJSUA2_EXES := $(foreach file, $(PJSUA2_SAMPLES), $(file)$(HOST_EXE)) 
    5154 
    5255.PHONY: $(EXES) 
     56.PHONY: $(PJSUA2_EXES) 
    5357 
    54 all: $(EXES) 
     58all: $(EXES) $(PJSUA2_EXES) 
    5559 
    5660$(EXES): 
    57         $(MAKE) --no-print-directory -f $(RULES_MAK) SAMPLE_SRCDIR=$(SRCDIR) SAMPLE_OBJS=$@.o SAMPLE_CFLAGS="$(_CFLAGS)" SAMPLE_CXXFLAGS="$(_CXXFLAGS)" SAMPLE_LDFLAGS="$(_LDFLAGS) -lstdc++" SAMPLE_EXE=$@ APP=SAMPLE app=sample $(subst /,$(HOST_PSEP),$(BINDIR)/$@) 
     61        $(MAKE) --no-print-directory -f $(RULES_MAK) SAMPLE_SRCDIR=$(SRCDIR) SAMPLE_OBJS=$@.o SAMPLE_CFLAGS="$(_CFLAGS)" SAMPLE_CXXFLAGS="$(_CXXFLAGS)" SAMPLE_LDFLAGS="$(_LDFLAGS)" SAMPLE_EXE=$@ APP=SAMPLE app=sample $(subst /,$(HOST_PSEP),$(BINDIR)/$@) 
     62 
     63$(PJSUA2_EXES): 
     64        $(MAKE) --no-print-directory -f $(RULES_MAK) PJSUA2_SAMPLE_SRCDIR=$(SRCDIR) PJSUA2_SAMPLE_OBJS=$@.o PJSUA2_SAMPLE_CFLAGS="$(_CFLAGS)" PJSUA2_SAMPLE_CXXFLAGS="$(_CXXFLAGS)" PJSUA2_SAMPLE_LDFLAGS="$(_LDXXFLAGS)" PJSUA2_SAMPLE_EXE=$@ APP=PJSUA2_SAMPLE app=pjsua2_sample $(subst /,$(HOST_PSEP),$(BINDIR)/$@) 
    5865 
    5966depend: 
  • pjproject/trunk/pjsip-apps/src/swig/java/Makefile

    r4704 r4711  
    11include ../../../../build.mak 
     2include ../../../../build/common.mak 
    23 
    34ifneq ($(findstring android,$(TARGET_NAME)),) 
     
    4950  MY_JNI_CFLAGS         = -fPIC 
    5051  MY_JNI_LDFLAGS        = -L$(MY_JDK)/lib 
    51   ifeq ($(OS),darwin) 
    52     MY_JNI_LDFLAGS      := $(MY_JNI_LDFLAGS) -Wl,-soname,pjsua2.so 
    53   endif 
    5452  ifeq ($(OS),android) 
    5553    MY_JNI_CFLAGS       := $(MY_JNI_CFLAGS) -D__ANDROID__ 
     
    6866endif 
    6967MY_JNI_CFLAGS    := $(MY_JNI_CFLAGS) -I$(MY_JDK)/include -I$(MY_JDK)/include/win32 \ 
    70                     -I$(MY_JDK)/include/linux -I. 
     68                    -I$(MY_JDK)/include/linux -I$(MY_JDK)/include/darwin -I. 
    7169 
    7270# Build settings 
    73 MY_CFLAGS        = $(PJ_CFLAGS) $(MY_JNI_CFLAGS) 
    74 MY_LDFLAGS       = $(PJ_LDFLAGS) -lpjsua2-$(TARGET_NAME) $(PJ_LDLIBS) $(MY_JNI_LDFLAGS) 
     71MY_CFLAGS        = $(PJ_CXXFLAGS) $(MY_JNI_CFLAGS) $(CFLAGS) 
     72MY_LDFLAGS       = $(PJ_LDXXFLAGS) $(PJ_LDXXLIBS) $(MY_JNI_LDFLAGS) $(LDFLAGS) 
    7573MY_PACKAGE_NAME  = org.pjsip.pjsua2 
    7674ifeq ($(OS),android) 
  • pjproject/trunk/pjsip/build/Makefile

    r4705 r4711  
    152152export PJSUA2_TEST_CFLAGS += $(_CFLAGS) $(PJ_VIDEO_CFLAGS) 
    153153export PJSUA2_TEST_CXXFLAGS = $(PJSUA2_LIB_CFLAGS)  
    154 export PJSUA2_TEST_LDFLAGS += -lpjsua2-$(TARGET_NAME) -lstdc++ $(PJ_LDFLAGS) $(PJ_LDLIBS) $(LDFLAGS) 
     154export PJSUA2_TEST_LDFLAGS += $(PJ_LDXXFLAGS) $(PJ_LDXXLIBS) $(LDFLAGS) 
    155155export PJSUA2_TEST_EXE := pjsua2-test-$(TARGET_NAME)$(HOST_EXE) 
    156156 
Note: See TracChangeset for help on using the changeset viewer.