Fix building with video support (including dshow camera) on mingw (#2589)
This commit is contained in:
parent
2a0095175f
commit
dad6a34680
20
aconfigure
20
aconfigure
|
@ -681,6 +681,9 @@ ac_darwin_cflags
|
|||
ac_pjmedia_video_has_ios_opengl
|
||||
ac_pjmedia_video_has_vtoolbox
|
||||
ac_pjmedia_video_has_darwin
|
||||
ac_dshow_ldflags
|
||||
ac_dshow_cflags
|
||||
ac_pjmedia_video_dev_has_dshow
|
||||
ac_android_cflags
|
||||
ac_pjmedia_video_has_android
|
||||
ac_pjmedia_video
|
||||
|
@ -6481,10 +6484,12 @@ fi
|
|||
|
||||
|
||||
|
||||
# Disable video on mingw
|
||||
# Disable video on mingw by default (but respect --enable-video=yes)
|
||||
case $target in
|
||||
*mingw*)
|
||||
if test ! "$enable_video" = "yes"; then
|
||||
enable_video="no"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -6556,6 +6561,18 @@ $as_echo "Checking if OpenGL ES 2 is available... no" >&6; }
|
|||
fi
|
||||
ac_android_cflags="$ac_android_cflags -DPJMEDIA_VIDEO_DEV_HAS_ANDROID=1"
|
||||
;;
|
||||
*mingw*)
|
||||
if test "$enable_video" = "yes"; then
|
||||
ac_pjmedia_video=windows_os
|
||||
|
||||
ac_pjmedia_video_dev_has_dshow=yes
|
||||
|
||||
ac_dshow_cflags="-DPJMEDIA_HAS_VIDEO=1 -DPJMEDIA_VIDEO_DEV_HAS_DSHOW=1"
|
||||
|
||||
ac_dshow_ldflags=" -lstdc++ -lquartz -lole32 -loleaut32 -lrpcrt4 -lwinmm -luuid -lmingwex -lstrmiids "
|
||||
LIBS="$LIBS -lstdc++ -lquartz -lole32 -loleaut32 -lrpcrt4 -lwinmm -luuid -lmingwex -lstrmiids "
|
||||
fi
|
||||
;;
|
||||
*darwin*)
|
||||
ac_pjmedia_video=darwin_os
|
||||
|
||||
|
@ -7064,6 +7081,7 @@ $as_echo "not found" >&6; }
|
|||
ac_sdl_cflags=`$SDL_CONFIG --cflags`
|
||||
ac_sdl_cflags="-DPJMEDIA_VIDEO_DEV_HAS_SDL=1 $ac_sdl_cflags"
|
||||
ac_sdl_ldflags=`$SDL_CONFIG --libs`
|
||||
ac_sdl_ldflags=${ac_sdl_ldflags//-mwindows/}
|
||||
LIBS="$LIBS $ac_sdl_ldflags"
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Unsupported SDL version" >&5
|
||||
|
|
|
@ -772,10 +772,12 @@ fi
|
|||
|
||||
AC_SUBST(ac_pjmedia_video)
|
||||
|
||||
# Disable video on mingw
|
||||
# Disable video on mingw by default (but respect --enable-video=yes)
|
||||
case $target in
|
||||
*mingw*)
|
||||
if test ! "$enable_video" = "yes"; then
|
||||
enable_video="no"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -828,6 +830,18 @@ else
|
|||
fi
|
||||
ac_android_cflags="$ac_android_cflags -DPJMEDIA_VIDEO_DEV_HAS_ANDROID=1"
|
||||
;;
|
||||
*mingw*)
|
||||
if test "$enable_video" = "yes"; then
|
||||
ac_pjmedia_video=windows_os
|
||||
AC_SUBST(ac_pjmedia_video_dev_has_dshow)
|
||||
ac_pjmedia_video_dev_has_dshow=yes
|
||||
AC_SUBST(ac_dshow_cflags)
|
||||
ac_dshow_cflags="-DPJMEDIA_HAS_VIDEO=1 -DPJMEDIA_VIDEO_DEV_HAS_DSHOW=1"
|
||||
AC_SUBST(ac_dshow_ldflags)
|
||||
ac_dshow_ldflags=" -lstdc++ -lquartz -lole32 -loleaut32 -lrpcrt4 -lwinmm -luuid -lmingwex -lstrmiids "
|
||||
LIBS="$LIBS -lstdc++ -lquartz -lole32 -loleaut32 -lrpcrt4 -lwinmm -luuid -lmingwex -lstrmiids "
|
||||
fi
|
||||
;;
|
||||
*darwin*)
|
||||
ac_pjmedia_video=darwin_os
|
||||
AC_SUBST(ac_pjmedia_video_has_darwin)
|
||||
|
@ -1082,6 +1096,7 @@ AC_ARG_ENABLE(sdl,
|
|||
ac_sdl_cflags=`$SDL_CONFIG --cflags`
|
||||
ac_sdl_cflags="-DPJMEDIA_VIDEO_DEV_HAS_SDL=1 $ac_sdl_cflags"
|
||||
ac_sdl_ldflags=`$SDL_CONFIG --libs`
|
||||
ac_sdl_ldflags=${ac_sdl_ldflags//-mwindows/}
|
||||
LIBS="$LIBS $ac_sdl_ldflags"
|
||||
else
|
||||
AC_MSG_RESULT([Unsupported SDL version])
|
||||
|
|
13
build.mak.in
13
build.mak.in
|
@ -187,13 +187,22 @@ AC_PJMEDIA_VIDEO_HAS_VTOOLBOX = @ac_pjmedia_video_has_vtoolbox@
|
|||
AC_PJMEDIA_VIDEO_HAS_IOS_OPENGL = @ac_pjmedia_video_has_ios_opengl@
|
||||
DARWIN_CFLAGS = @ac_darwin_cflags@
|
||||
|
||||
# mingw
|
||||
AC_PJMEDIA_VIDEO_DEV_HAS_DSHOW = @ac_pjmedia_video_dev_has_dshow@
|
||||
ifeq (@ac_pjmedia_video_dev_has_dshow@,yes)
|
||||
DSHOW_CFLAGS = @ac_dshow_cflags@
|
||||
DSHOW_LDFLAGS = @ac_dshow_ldflags@
|
||||
APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libbaseclasses-$(LIB_SUFFIX)
|
||||
APP_THIRD_PARTY_LIBS += -lbaseclasses-$(TARGET_NAME)
|
||||
endif
|
||||
|
||||
# Android
|
||||
ANDROID_CFLAGS = @ac_android_cflags@
|
||||
|
||||
# PJMEDIA features exclusion
|
||||
PJ_VIDEO_CFLAGS += $(SDL_CFLAGS) $(FFMPEG_CFLAGS) $(V4L2_CFLAGS) $(QT_CFLAGS) \
|
||||
PJ_VIDEO_CFLAGS += $(SDL_CFLAGS) $(FFMPEG_CFLAGS) $(V4L2_CFLAGS) $(DSHOW_CFLAGS) $(QT_CFLAGS) \
|
||||
$(OPENH264_CFLAGS) $(VPX_CFLAGS) $(DARWIN_CFLAGS)
|
||||
PJ_VIDEO_LDFLAGS += $(SDL_LDFLAGS) $(FFMPEG_LDFLAGS) $(V4L2_LDFLAGS) \
|
||||
PJ_VIDEO_LDFLAGS += $(SDL_LDFLAGS) $(FFMPEG_LDFLAGS) $(V4L2_LDFLAGS) $(DSHOW_LDFLAGS) \
|
||||
$(OPENH264_LDFLAGS) $(VPX_LDFLAGS)
|
||||
|
||||
# CFLAGS, LDFLAGS, and LIBS to be used by applications
|
||||
|
|
|
@ -169,6 +169,11 @@ $(OBJDIR)/%$(OBJEXT): $(SRCDIR)/%.S | $(OBJDIRS)
|
|||
$(CC_OUT)$(subst /,$(HOST_PSEP),$@) \
|
||||
$(subst /,$(HOST_PSEP),$<)
|
||||
|
||||
$(OBJDIR)/dshowclasses.o: $(SRCDIR)/dshowclasses.cpp | $(OBJDIRS)
|
||||
$(CXX) $($(APP)_CXXFLAGS) -I$(SRCDIR)/../../../third_party/BaseClasses -fpermissive \
|
||||
$(CC_OUT)$(subst /,$(HOST_PSEP),$@) \
|
||||
$(subst /,$(HOST_PSEP),$<)
|
||||
|
||||
$(OBJDIR)/%$(OBJEXT): $(SRCDIR)/%.cpp | $(OBJDIRS)
|
||||
$(CXX) $($(APP)_CXXFLAGS) \
|
||||
$(CC_OUT)$(subst /,$(HOST_PSEP),$@) \
|
||||
|
|
|
@ -18,6 +18,10 @@ FFMPEG_LDFLAGS = @ac_ffmpeg_ldflags@
|
|||
V4L2_CFLAGS = @ac_v4l2_cflags@
|
||||
V4L2_LDFLAGS = @ac_v4l2_ldflags@
|
||||
|
||||
# Directshow
|
||||
DSHOW_CFLAGS = @ac_dshow_cflags@
|
||||
DSHOW_LDFLAGS = @ac_dshow_ldflags@
|
||||
|
||||
# QT
|
||||
AC_PJMEDIA_VIDEO_HAS_QT = @ac_pjmedia_video_has_qt@
|
||||
# QT_CFLAGS = @ac_qt_cflags@
|
||||
|
@ -39,10 +43,10 @@ VPX_LDFLAGS = @ac_vpx_ldflags@
|
|||
|
||||
# PJMEDIA features exclusion
|
||||
export CFLAGS += @ac_no_small_filter@ @ac_no_large_filter@ @ac_no_speex_aec@ \
|
||||
$(SDL_CFLAGS) $(FFMPEG_CFLAGS) $(V4L2_CFLAGS) $(QT_CFLAGS) \
|
||||
$(SDL_CFLAGS) $(FFMPEG_CFLAGS) $(V4L2_CFLAGS) $(DSHOW_CFLAGS) $(QT_CFLAGS) \
|
||||
$(DARWIN_CFLAGS) $(ANDROID_CFLAGS) \
|
||||
$(OPENH264_CFLAGS) $(VPX_CFLAGS)
|
||||
export LDFLAGS += $(SDL_LDFLAGS) $(FFMPEG_LDFLAGS) $(V4L2_LDFLAGS) \
|
||||
export LDFLAGS += $(SDL_LDFLAGS) $(FFMPEG_LDFLAGS) $(V4L2_LDFLAGS) $(DSHOW_LDFLAGS) \
|
||||
$(OPENH264_LDFLAGS) $(VPX_LDFLAGS)
|
||||
|
||||
# Define the desired sound device backend
|
||||
|
@ -289,6 +293,14 @@ ifeq ($(AC_PJMEDIA_VIDEO_HAS_IOS_OPENGL),yes)
|
|||
export PJMEDIA_VIDEODEV_OBJS += ios_opengl_dev.o
|
||||
endif
|
||||
|
||||
#
|
||||
# Directshow video device
|
||||
#
|
||||
ifeq ($(AC_PJMEDIA_VIDEO_DEV_HAS_DSHOW),yes)
|
||||
export PJMEDIA_VIDEODEV_OBJS += dshow_dev.o dshowclasses.o
|
||||
export CFLAGS += -I$(THIRD_PARTY)/BaseClasses
|
||||
endif
|
||||
|
||||
#
|
||||
# Android video device
|
||||
#
|
||||
|
|
|
@ -38,6 +38,8 @@
|
|||
|
||||
#ifdef _MSC_VER
|
||||
# pragma warning(pop)
|
||||
#else
|
||||
#include <amvideo2.h>
|
||||
#endif
|
||||
|
||||
#pragma comment(lib, "Strmiids.lib")
|
||||
|
|
|
@ -7,8 +7,8 @@ RULES_MAK := $(PJDIR)/build/rules.mak
|
|||
###############################################################################
|
||||
# Gather all flags.
|
||||
#
|
||||
export _CFLAGS := $(PJ_CFLAGS) $(CFLAGS)
|
||||
export _CXXFLAGS:= $(PJ_CXXFLAGS) $(CFLAGS)
|
||||
export _CFLAGS := $(PJ_CFLAGS) $(CFLAGS) $(PJ_VIDEO_CFLAGS)
|
||||
export _CXXFLAGS:= $(PJ_CXXFLAGS) $(CFLAGS) $(PJ_VIDEO_CFLAGS)
|
||||
export _LDFLAGS := $(PJ_LDFLAGS) $(PJ_LDLIBS) $(LDFLAGS)
|
||||
export _LDXXFLAGS := $(PJ_LDXXFLAGS) $(PJ_LDXXLIBS) $(LDFLAGS)
|
||||
|
||||
|
|
|
@ -429,6 +429,7 @@ static void mainProg4(Endpoint &ep)
|
|||
#endif
|
||||
|
||||
|
||||
extern "C"
|
||||
int main()
|
||||
{
|
||||
int ret = 0;
|
||||
|
|
|
@ -163,7 +163,7 @@ export PJSUA2_TEST_SRCDIR = ../src/pjsua2-test
|
|||
export PJSUA2_TEST_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \
|
||||
main.o
|
||||
export PJSUA2_TEST_CFLAGS += $(_CFLAGS) $(PJ_VIDEO_CFLAGS)
|
||||
export PJSUA2_TEST_CXXFLAGS = $(_CXXFLAGS) $(PJSUA2_LIB_CFLAGS)
|
||||
export PJSUA2_TEST_CXXFLAGS = $(_CXXFLAGS) $(PJSUA2_LIB_CFLAGS) $(PJ_VIDEO_CFLAGS)
|
||||
export PJSUA2_TEST_LDFLAGS += $(PJ_LDXXFLAGS) $(PJ_LDXXLIBS) $(LDFLAGS)
|
||||
ifeq ($(EXCLUDE_APP),0)
|
||||
export PJSUA2_TEST_EXE := pjsua2-test-$(TARGET_NAME)$(HOST_EXE)
|
||||
|
@ -182,7 +182,7 @@ export TEST_OBJS += dlg_core_test.o dns_test.o msg_err_test.o \
|
|||
tsx_basic_test.o tsx_bench.o tsx_uac_test.o \
|
||||
tsx_uas_test.o txdata_test.o uri_test.o \
|
||||
inv_offer_answer_test.o
|
||||
export TEST_CFLAGS += $(_CFLAGS)
|
||||
export TEST_CFLAGS += $(_CFLAGS) $(PJ_VIDEO_CFLAGS)
|
||||
export TEST_CXXFLAGS += $(_CXXFLAGS)
|
||||
export TEST_LDFLAGS += $(PJSIP_LDLIB) \
|
||||
$(PJSIP_UA_LDLIB) \
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
|
||||
using namespace pj;
|
||||
|
||||
extern "C"
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
Endpoint ep;
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
/*
|
||||
Some necessary macros are missing from mingw version. They are here.
|
||||
See https://github.com/ofTheo/videoInput/blob/master/videoInputSrcAndDemos/libs/DShow/Include/amvideo.h
|
||||
*/
|
||||
//------------------------------------------------------------------------------
|
||||
// File: AMVideo.h
|
||||
//
|
||||
// Desc: Video related definitions and interfaces for ActiveMovie.
|
||||
//
|
||||
// Copyright (c) 1992 - 2001, Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#define TRUECOLOR(pbmi) ((TRUECOLORINFO *)(((LPBYTE)&((pbmi)->bmiHeader)) \
|
||||
+ (pbmi)->bmiHeader.biSize))
|
||||
#define COLORS(pbmi) ((RGBQUAD *)(((LPBYTE)&((pbmi)->bmiHeader)) \
|
||||
+ (pbmi)->bmiHeader.biSize))
|
||||
|
||||
#define SIZE_MASKS (iMASK_COLORS * sizeof(DWORD))
|
||||
#define SIZE_PREHEADER (FIELD_OFFSET(VIDEOINFOHEADER,bmiHeader))
|
||||
|
||||
#define WIDTHBYTES(bits) ((DWORD)(((bits)+31) & (~31)) / 8)
|
||||
#define DIBWIDTHBYTES(bi) (DWORD)WIDTHBYTES((DWORD)(bi).biWidth * (DWORD)(bi).biBitCount)
|
||||
#define _DIBSIZE(bi) (DIBWIDTHBYTES(bi) * (DWORD)(bi).biHeight)
|
||||
#define DIBSIZE(bi) ((bi).biHeight < 0 ? (-1)*(_DIBSIZE(bi)) : _DIBSIZE(bi))
|
||||
|
||||
#define PALETTISED(pbmi) ((pbmi)->bmiHeader.biBitCount <= iPALETTE)
|
|
@ -21,7 +21,7 @@
|
|||
// Enlarged integer divide - 64-bits / 32-bits > 32-bits
|
||||
//
|
||||
|
||||
#ifndef _X86_
|
||||
#if !defined(_X86_) || !defined(_MSC_VER)
|
||||
|
||||
#define LLtoU64(x) (*(unsigned __int64*)(void*)(&(x)))
|
||||
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
See https://github.com/RobertBeckebans/RBDOOM-3-BFG/blob/master/neo/libs/mingw-hacks/sal.h
|
||||
*/
|
||||
/* From PortAudio, which is under MIT license:
|
||||
* https://www.assembla.com/code/portaudio/subversion/nodes/portaudio/trunk/src/hostapi/wasapi/mingw-include/sal.h
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
#define __in
|
||||
#define __out
|
||||
#define __deref_in
|
||||
#define __deref_inout_opt
|
||||
#define __field_ecount_opt(x)
|
||||
#define __in_bcount_opt(size)
|
||||
|
|
@ -23,6 +23,11 @@
|
|||
#else
|
||||
#define AM_NOVTABLE
|
||||
#endif
|
||||
#else
|
||||
#include <sal.h>
|
||||
#include <sal2.h>
|
||||
#define AM_NOVTABLE
|
||||
#pragma GCC diagnostic ignored "-Wwrite-strings"
|
||||
#endif // MSC_VER
|
||||
|
||||
|
||||
|
@ -193,6 +198,13 @@ const LONGLONG MAX_TIME = 0x7FFFFFFFFFFFFFFF; /* Maximum LONGLONG value */
|
|||
//#include <edevdefs.h> // External device control interface defines
|
||||
//#include <audevcod.h> // audio filter device error event codes
|
||||
|
||||
#ifndef _MSC_VER
|
||||
|
||||
#define min(a,b) ({ __typeof__ (a) _a = (a); __typeof__ (b) _b = (b); _a < _b ? _a : _b; })
|
||||
#include <amvideo2.h>
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#else
|
||||
#ifdef DEBUG
|
||||
|
|
|
@ -384,7 +384,7 @@ void * __stdcall memmoveInternal(void * dst, const void * src, size_t count)
|
|||
{
|
||||
void * ret = dst;
|
||||
|
||||
#ifdef _X86_
|
||||
#if defined(_X86_) && defined(_MSC_VER)
|
||||
if (dst <= src || (char *)dst >= ((char *)src + count)) {
|
||||
|
||||
/*
|
||||
|
@ -432,6 +432,7 @@ memmove_done:
|
|||
return ret;
|
||||
}
|
||||
|
||||
#ifdef _MSC_VER
|
||||
HRESULT AMSafeMemMoveOffset(
|
||||
__in_bcount(dst_size) void * dst,
|
||||
__in size_t dst_size,
|
||||
|
@ -458,6 +459,7 @@ HRESULT AMSafeMemMoveOffset(
|
|||
memmoveInternal( (BYTE *)dst+cb_dst_offset, (BYTE *)src+cb_src_offset, count);
|
||||
return S_OK;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef DEBUG
|
||||
|
|
|
@ -337,6 +337,7 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
#ifdef _MSC_VER
|
||||
// Ensures that memory is not read past the length source buffer
|
||||
// and that memory is not written past the length of the dst buffer
|
||||
// dst - buffer to copy to
|
||||
|
@ -358,13 +359,14 @@ HRESULT AMSafeMemMoveOffset(
|
|||
__in size_t src_size,
|
||||
__in DWORD cb_src_offset,
|
||||
__in size_t count);
|
||||
#endif
|
||||
|
||||
extern "C"
|
||||
void * __stdcall memmoveInternal(void *, const void *, size_t);
|
||||
|
||||
inline void * __cdecl memchrInternal(const void *buf, int chr, size_t cnt)
|
||||
{
|
||||
#ifdef _X86_
|
||||
#if defined(_X86_) && defined(_MSC_VER)
|
||||
void *pRet = NULL;
|
||||
|
||||
_asm {
|
||||
|
|
|
@ -0,0 +1,72 @@
|
|||
include ../../../build.mak
|
||||
include ../../../build/common.mak
|
||||
|
||||
export LIBDIR := ../../lib
|
||||
|
||||
RULES_MAK := $(PJDIR)/build/rules.mak
|
||||
|
||||
export BASECLASSES_LIB := libbaseclasses-$(TARGET_NAME)$(LIBEXT)
|
||||
|
||||
ifeq ($(PJ_SHARED_LIBRARIES),)
|
||||
else
|
||||
export BASECLASSES_SONAME := libbaseclasses.$(SHLIB_SUFFIX)
|
||||
export BASECLASSES_SHLIB := $(BASECLASSES_SONAME).$(PJ_VERSION_MAJOR)
|
||||
endif
|
||||
|
||||
###############################################################################
|
||||
# Gather all flags.
|
||||
#
|
||||
export _CFLAGS := $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \
|
||||
$(CFLAGS) $(CC_INC)../../BaseClasses \
|
||||
$(CC_INC)../../../pjmedia/include $(CC_INC)../../../pjlib/include
|
||||
export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \
|
||||
$(HOST_CXXFLAGS) $(CXXFLAGS)
|
||||
export _LDFLAGS := $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \
|
||||
$(LDFLAGS)
|
||||
|
||||
export BASECLASSES_SRCDIR = ../../BaseClasses
|
||||
export BASECLASSES_OBJS = amfilter.o amvideo.o arithutil.o combase.o ctlutil.o \
|
||||
mtype.o renbase.o wxdebug.o wxlist.o \
|
||||
wxutil.o
|
||||
|
||||
export BASECLASSES_CFLAGS = $(_CFLAGS)
|
||||
export BASECLASSES_CXXFLAGS = -fpermissive -D__STRSAFE__NO_INLINE=1 -DPJMEDIA_VIDEO_DEV_HAS_DSHOW=1 $(_CFLAGS)
|
||||
|
||||
|
||||
export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT
|
||||
###############################################################################
|
||||
# Main entry
|
||||
#
|
||||
# $(TARGET) is defined in os-$(OS_NAME).mak file in current directory.
|
||||
#
|
||||
TARGETS := $(BASECLASSES_LIB) $(BASECLASSES_SONAME)
|
||||
|
||||
all: $(TARGETS)
|
||||
|
||||
doc:
|
||||
cd .. && doxygen docs/doxygen.cfg
|
||||
|
||||
dep: depend
|
||||
distclean: realclean
|
||||
|
||||
.PHONY: all dep depend clean realclean distclean
|
||||
.PHONY: $(TARGETS)
|
||||
.PHONY: $(BASECLASSES_LIB) $(BASECLASSES_SONAME)
|
||||
|
||||
libbaseclasses: $(BASECLASSES_LIB)
|
||||
$(BASECLASSES_SONAME): $(BASECLASSES_LIB)
|
||||
$(BASECLASSES_LIB) $(BASECLASSES_SONAME):
|
||||
$(MAKE) -f $(RULES_MAK) APP=BASECLASSES app=baseclasses $(subst /,$(HOST_PSEP),$(LIBDIR)/$@)
|
||||
|
||||
clean print_lib:
|
||||
$(MAKE) -f $(RULES_MAK) APP=BASECLASSES app=baseclasses $@
|
||||
|
||||
realclean:
|
||||
$(subst @@,$(subst /,$(HOST_PSEP),.ilbc-$(TARGET_NAME).depend),$(HOST_RMR))
|
||||
|
||||
$(MAKE) -f $(RULES_MAK) APP=BASECLASSES app=baseclasses $@
|
||||
|
||||
depend:
|
||||
$(MAKE) -f $(RULES_MAK) APP=BASECLASSES app=baseclasses $@
|
||||
|
||||
|
|
@ -39,6 +39,10 @@ else
|
|||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(findstring windows_os,@ac_pjmedia_video@),)
|
||||
DIRS += baseclasses
|
||||
endif
|
||||
|
||||
ifneq (@ac_external_srtp@,0)
|
||||
# External SRTP
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue