Ticket #774:
 - Added build config for GNU autoconf & make.
 - Fixed some G.722.1 codes for linux & mingw32 targets, e.g: types 
defs, collision function name 'round'.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2601 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/third_party/build/g7221/Makefile b/third_party/build/g7221/Makefile
new file mode 100644
index 0000000..1675817
--- /dev/null
+++ b/third_party/build/g7221/Makefile
@@ -0,0 +1,63 @@
+include ../../../build.mak
+include ../../../build/common.mak
+
+export LIBDIR := ../../lib
+
+RULES_MAK := $(PJDIR)/build/rules.mak
+
+export G7221_CODEC_LIB := ../../lib/libg7221codec-$(TARGET_NAME)$(LIBEXT)
+
+###############################################################################
+# Gather all flags.
+#
+export _CFLAGS 	:= $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \
+		   $(CFLAGS) $(CC_INC)../.. $(CC_INC)../../g7221/common \
+		   $(CC_INC)../../g7221/common/stl-files \
+		   $(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 G7221_CODEC_SRCDIR = ../../g7221
+export G7221_CODEC_OBJS = common/common.o common/huff_tab.o common/tables.o \
+                	common/stl-files/basop32.o common/stl-files/count.o \
+                	decode/coef2sam.o decode/dct4_s.o decode/decoder.o \
+                	encode/dct4_a.o encode/sam2coef.o encode/encoder.o
+
+export G7221_CODEC_CFLAGS = $(_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 := libg7221codec
+
+all: $(TARGETS)
+
+doc:
+	cd .. && doxygen docs/doxygen.cfg
+
+dep: depend
+distclean: realclean
+
+.PHONY: dep depend libg7221codec clean realclean distclean
+
+libg7221codec:
+	$(MAKE) -f $(RULES_MAK) APP=G7221_CODEC app=libg7221codec $(G7221_CODEC_LIB)
+
+clean print_lib:
+	$(MAKE) -f $(RULES_MAK) APP=G7221_CODEC app=libg7221codec $@
+
+realclean:
+	$(subst @@,$(subst /,$(HOST_PSEP),.ilbc-$(TARGET_NAME).depend),$(HOST_RMR))
+	
+	$(MAKE) -f $(RULES_MAK) APP=G7221_CODEC app=libg7221codec $@
+
+depend:
+	$(MAKE) -f $(RULES_MAK) APP=G7221_CODEC app=libg7221codec $@
+
+
diff --git a/third_party/build/os-auto.mak.in b/third_party/build/os-auto.mak.in
index 94db5ac..cb6499e 100644
--- a/third_party/build/os-auto.mak.in
+++ b/third_party/build/os-auto.mak.in
@@ -11,6 +11,11 @@
 DIRS += speex
 endif
 
+ifneq (@ac_no_g7221_codec@,1)
+DIRS += g7221
+endif
+
 ifneq ($(findstring pa,@ac_pjmedia_snd@),)
 DIRS += portaudio
 endif
+
diff --git a/third_party/build/os-darwinos.mak b/third_party/build/os-darwinos.mak
index 8aaea28..a9c740f 100644
--- a/third_party/build/os-darwinos.mak
+++ b/third_party/build/os-darwinos.mak
@@ -2,5 +2,6 @@
 DIRS += ilbc
 DIRS += speex
 DIRS += portaudio
+DIRS += g7221
 
 
diff --git a/third_party/build/os-linux.mak b/third_party/build/os-linux.mak
index 8aaea28..a9c740f 100644
--- a/third_party/build/os-linux.mak
+++ b/third_party/build/os-linux.mak
@@ -2,5 +2,6 @@
 DIRS += ilbc
 DIRS += speex
 DIRS += portaudio
+DIRS += g7221
 
 
diff --git a/third_party/build/os-win32.mak b/third_party/build/os-win32.mak
index 8aaea28..a9c740f 100644
--- a/third_party/build/os-win32.mak
+++ b/third_party/build/os-win32.mak
@@ -2,5 +2,6 @@
 DIRS += ilbc
 DIRS += speex
 DIRS += portaudio
+DIRS += g7221